| |
|
|
|
Beschreibung:
RegOpenKeyEx öffnet einen Registry Schlüssel und liefert dessen Handle zur Bearbeitung oder zum Auslesen.
Deklaration:
Def @RegOpenKeyEx(5) !ADVAPI32,RegOpenKeyExA
Parameter:
1.Parameter: Handle eines schon geöffneten Keys als LongInt oder folgende vordefinierte Werte => -HKEY_CLASSES_ROOT = $80000000 -HKEY_CURRENT_USER = $80000001 -HKEY_LOCAL_MACHINE = $80000002 -HKEY_USERS = $80000003 2.Parameter: Adresse eines Unterschlüssels oder Bereichsvariable mit einem Unterschlüssel, der geöffnet werden soll. 3.Parameter: Reserviert, muß 0 sein. 4.Parameter: Welche Zugriff möchte man auf den Schlüssel haben? Werte können mit | addiert werden. -$0020 = Ich will einen symbolischen Link erzeugen. -$0004 = Ich will einen Unterschlüssel erzeugen. -$0008 = Ich will Unterschlüssel auflisten. -$20019 = Ich will nur auslesen. -$0010 = Aktiviert die Änderungsbenachrichtigung für den Schlüssel. -$0001 = Erlaubt, daß Unterschlüssel abgefragt werden. -$0002 = Erlaubt das Schreiben von Werten in Unterschlüssel. -$F003F = Alle Arten von Zugriffen. -$20006 = Kompletter Schreibzugriff. 5.Parameter: 4 Byte Bereichsvariable, die das Handle des Keys aufnimmt.
Rückgabewert:
0 bei Erfolg, bei Misserfolg ein Wert <>0 (Fehlercode).
Beispiele:
KompilierenMarkierenSeparierenDeclare Handle#,FEHLER&,Key#,Name#,Wert#,Size#
def @RegOpenKeyEx(5) !"ADVAPI32","RegOpenKeyExA"
def @RegQueryValueEx(6) !"ADVAPI32","RegQueryValueExA"
def @RegCloseKey(1) !"ADVAPI32","RegCloseKey"
Windowstyle 31
Windowtitle "Aus Registry Startmenüname auslesen"
Window 0,0-640,440
DIM Key#,260
DIM Handle#,4
DIM Name#,250
DIM Size#,4
DIM Wert#,260
String key#,0="SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders"
LET FEHLER&=@RegOpenKeyEx($80000001,Key#,0,$F003F,Handle#)
Print "Fehlercode beim Öffenen des Schlüssels User Shell Folders: ";Fehler&
IF Fehler&=0
String Name#,0="Start Menu"
long Size#,0=260
Let Fehler&=@RegQueryValueEx(@Long(Handle#,0),Name#,0,0,Wert#,Size#)
Print "Fehlercode beim Auslesen des Schlüssels: ";Fehler&
Print ""
Print "Das Startmenü des aktuellen Users steht hier: "
Print @String$(Wert#,0)
Print ""
Print "Fehlercode RegCloseKey: ";@RegCloseKey(@Long(Handle#,0))
endif
IF Fehler&<>0
String key#,0="SoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders"
LET FEHLER&=@RegOpenKeyEx($80000001,Key#,0,$F003F,Handle#)
Print "Fehlercode beim Öffenen des Schlüssels Shell Folders: ";Fehler&
String Name#,0="Start Menu"
long Size#,0=260
Let Fehler&=@RegQueryValueEx(@Long(Handle#,0),Name#,0,0,Wert#,Size#)
Print "Fehlercode beim Auslesen des Schlüssels: ";Fehler&
Print ""
Print "Das Startmenü des aktuellen Users steht hier: "
Print @String$(Wert#,0)
Print ""
Print "Fehlercode RegCloseKey: ";@RegCloseKey(@Long(Handle#,0))
endif
IF Fehler&<>0
Print "Fehler!!!!!! Startmenü konnte nicht ausgelesen werden!!!"
endif
Dispose Wert#
Dispose key#
Dispose Handle#
Dispose Name#
Dispose Size#
While 0=0
Waitinput
wend
|
|
|
| |
|
|