| |
|
|
ASKTEC | ¡Hola zusammen,
como kann Yo bajo XProfan prüfen, si una Registry-Key disponible o no? ReadIni bringt sí una Fehlermeldung, si la Key no disponible es...
Vielen Dank para Eure Ayuda...
Saludo
Andreas |
|
|
| Profan 7.6 / XProfan 8 / XProfan 9 ~ W2k Prof. / Win XP Prof. ~ AMD XP2000+ / P4 3.80 GHz | 08.12.2005 ▲ |
|
|
|
|
| Als Administrator müßte el siempre así ir: KompilierenMarcaSeparaciónDef @RegOpenKeyEx(5) !"ADVAPI32","RegOpenKeyExA"
Def @RegCloseKey(1) !"ADVAPI32","RegCloseKey"
Declare Oberschlüssel$,Oberschlüssel&,Key$,Vorhanden&
Declare KEY_HANDLE&
Windowstyle 31
Windowtitle "Registryschlüssel vorhanden??"
Window 0,0-640,440
LET Oberschlüssel$=" "
WHILE Oberschlüssel$<>""
LET Oberschlüssel$=@INPUT$("Oberschlüssel eingeben","Existiert Schlüssel?","HKEY_LOKAL_MACHINE")
IF Oberschlüssel$<>""
LET KEY$=@INPUT$("Oberschlüssel eingeben","Existiert Schlüssel?","Software")
IF Oberschlüssel$="HKEY_LOKAL_MACHINE"
LET Oberschlüssel&=$80000002
ElseIF Oberschlüssel$="HKEY_CLASSES_ROOT"
LET Oberschlüssel&=$80000000
ElseIF Oberschlüssel$="HKEY_CURRENT_CONFIG"
LET Oberschlüssel&=$80000005
ElseIF Oberschlüssel$="HKEY_CURRENT_USER"
LET Oberschlüssel&=$80000001
ElseIF Oberschlüssel$="HKEY_USERS"
LET Oberschlüssel&=$80000003
ElseIF Oberschlüssel$="HKEY_DYN_DATA"
LET Oberschlüssel&=$80000006
ElseIF Oberschlüssel$="HKEY_PERFORMANCE_DATA"
LET Oberschlüssel&=$80000004
endif
LET VORHANDEN&=@RegOpenKeyEx(Oberschlüssel&,@ADDR(KEY$),0,$40000,@ADDR(KEY_HANDLE&))
IF VORHANDEN&=0
PRINT "Schlüssel "+Oberschlüssel$+""+Key$+" ist vorhanden!"
@RegCloseKey(KEY_HANDLE&)
elseIF VORHANDEN&=2
PRINT "Schlüssel "+Oberschlüssel$+""+Key$+" ist nicht vorhanden!"
Else
PRINT "Über Schlüssel "+Oberschlüssel$+""+Key$+" kann ich keine Aussage treffen!"
endif
endif
s4 href='./../../function-references/XProfan/wend/'>wend
Espero con aber todavía una vez genau después de... |
|
|
| |
|
|
|
| Kleine Fehlerkorrektur (leg mich igual schlafen) KompilierenMarcaSeparaciónDef @RegOpenKeyEx(5) !"ADVAPI32","RegOpenKeyExA"
Def @RegCloseKey(1) !"ADVAPI32","RegCloseKey"
Declare Oberschlüssel$,Oberschlüssel&,Key$,Vorhanden&
Declare KEY_HANDLE&
Windowstyle 31
Windowtitle "Registryschlüssel vorhanden??"
Window 0,0-640,440
LET Oberschlüssel$=" "
WHILE Oberschlüssel$<>""
LET Oberschlüssel$=@INPUT$("Oberschlüssel eingeben","Existiert Schlüssel?","HKEY_LOKAL_MACHINE")
IF Oberschlüssel$<>""
LET KEY$=@INPUT$("Oberschlüssel eingeben","Existiert Schlüssel?","Software")
IF Oberschlüssel$="HKEY_LOKAL_MACHINE"
LET Oberschlüssel&=$80000002
ElseIF Oberschlüssel$="HKEY_CLASSES_ROOT"
LET Oberschlüssel&=$80000000
ElseIF Oberschlüssel$="HKEY_CURRENT_CONFIG"
LET Oberschlüssel&=$80000005
ElseIF Oberschlüssel$="HKEY_CURRENT_USER"
LET Oberschlüssel&=$80000001
ElseIF Oberschlüssel$="HKEY_USERS"
LET Oberschlüssel&=$80000003
ElseIF Oberschlüssel$="HKEY_DYN_DATA"
LET Oberschlüssel&=$80000006
ElseIF Oberschlüssel$="HKEY_PERFORMANCE_DATA"
LET Oberschlüssel&=$80000004
ELSE
LET Oberschlüssel&=0
endif
LET VORHANDEN&=@RegOpenKeyEx(Oberschlüssel&,@ADDR(KEY$),0,$40000,@ADDR(KEY_HANDLE&))
IF VORHANDEN&=0
PRINT "Schlüssel "+Oberschlüssel$+""+Key$+" ist vorhanden!"
@RegCloseKey(KEY_HANDLE&)
elseIF VORHANDEN&=2
PRINT "Schlüssel "+Oberschlüssel$+""+Key$+" ist nicht vorhanden!"
Elseif VORHANDEN&=6
PRINT "Schlüssel "+Oberschlüssel$+""+Key$+" ist nicht vorhanden!"
Elseif VORHANDEN&=1010
PRINT "Schlüssel "+Oberschlüssel$+""+Key$+" ist nicht vorhanden!"
elseif VORHANDEN&=5
PRINT "Schlüssel "+Oberschlüssel$+""+Key$+" ist vorhanden!"
else
PRINT "Über Schlüssel "+Oberschlüssel$+""+Key$+" kann ich keine Aussage treffen!",VORHANDEN&
endif
wend
|
|
|
| |
|
|