| |
|
|
|
Descripción:
RegEnumValue listet todos Werte uno geöffneten Registryschlüssels en.
Deklaration:
Def @RegEnumValue(8) !ADVAPI32,RegEnumValueA
Parámetro:
1.Parámetro: Handle uno geöffneten Keys (dessen Unterschlüssel uno listen möchte) como LongInt oder folgende Werte => ·HKEY_CLASSES_ROOT = $80000000 ·HKEY_CURRENT_USER = $80000001 ·HKEY_LOCAL_MACHINE = $80000002 ·HKEY_USERS = $80000003 2.Parámetro: Position des gesuchten Unterschlüssels en el Registry como LongInt. 3.Parámetro: Bereichsvariable, el el Namen des Wertes empfängt. 4.Parámetro: 4 Byte Bereichsvariable, deren Valor el Größe de Parámetro 3 en Bytes angibt. Kehrt el Función zurück, es hier el número el kopierten Bytes. 5.Parámetro: Reserviert, muß 0 ser. 6.Parámetro: 4 Byte Bereichsvariable, el Art des zurückgegebenen Wertes empfängt. => ·$3 = (REG_BINARY) Binärer Schlüssel (Bytefolge unterschiedlicher Größe). ·$4 = 4 Byte oder LongIntwert. Oft voluntad sólo el zwei oberen Bytes des Wertes berücksichtigt (REG_DWORD / REG_DWORD_LITTLE_ENDIAN). ·$5 = 4 Byte oder LongIntwert. El unteren 2 Byte des Wertes voluntad berücksichtigt (REG_DWORD_BIG_ENDIAN). ·$2 = String con abschließendem Nullbyte. Kann Umgebungsvariablen enthalten (REG_EXPAND_SZ). ·$6 = Ein symbolischer Link en el Unicode Formato (REG_LINK). ·$7 = Ein Array nullterminierter Cuerdas (REG_MULTI_SZ). ·$0 = No definierter Datentyp (REG_NONE). ·$8 = Treiber Resourcenliste (REG_RESOURCE_LIST). ·$1 = String con abschließendem Nullbyte sin Umgebungsvariablen (REG_SZ). 7.Parámetro: Bereichsvariable, el valor empfängt. Diese Variable kann Null ser, si sólo el Namen des Wertes benötigt se. 8.Parámetro: 4 Byte Bereichsvariable, deren Valor el Größe de Parámetro 3 en Bytes angibt. Kehrt el Función zurück, es hier el número el kopierten Bytes. Diese Variable kann Null ser, si sólo el Namen des Wertes benötigt se y Parámetro 7 NUll es.
Rückgabewert:
0 en Erfolg, en Fehler una Valor <>0 (Fehlercode).
Beispiele:
KompilierenMarcaSeparaciónDef @RegOpenKeyEx(5) !"ADVAPI32","RegOpenKeyExA"
Def @RegEnumValue(8) !"ADVAPI32","RegEnumValueA"
Def @RegCloseKey(1) !"ADVAPI32","RegCloseKey"
Windowstyle 31
Windowtitle "Registry Unterschlüssel und Werte listen"
Window 0,0-640,440
declare ergebnis#,Error&,Handle&,Key$,Zähler&
Declare VALUESIZE#,Typ#,Wert#,Buffersize#
DIM TYP#,4
DIM Wert#,261
DIM Buffersize#,4
DIM VALUESIZE#,4
dim Ergebnis#,261--Länge des zu erwartenden Namens
LET Key$="SoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders"
$80000001=HKEY_CURRENT_USER $F003F = KEY_ALL_ACCESS
Error&=@RegOpenKeyEx($80000001,addr(Key$),0,$F003F,@addr(Handle&))
PRINT "OpenKey (0=OK) : ",Error&
Let Zähler&=0
whilenot Error&
LONG BUFFERSIZE#,0=261
LONG VALUESIZE#,0=261
Clear Ergebnis#,TYP#,Wert#
Error&=@RegEnumValue(Handle&,Zähler&,Ergebnis#,VALUESIZE#,0,TYP#,Wert#,Buffersize#)
IF Error&=0
IF @or(@LONG(TYP#,0)=$4,@LONG(TYP#,0)=$5)
ADDSTRING @string$(Ergebnis#,0)+"="+@STR$(@LONG(Wert#,0))
ELSEIF @LONG(TYP#,0)=$2
ADDSTRING @string$(Ergebnis#,0)+"="+@string$(Wert#,0)
ELSEIF @LONG(TYP#,0)=$1
ADDSTRING @string$(Ergebnis#,0)+"="+@string$(Wert#,0)
ELSE
ADDSTRING @string$(Ergebnis#,0)+"=..."+@STR$(@LONG(TYP#,0))
endif
endif
LET Zähler&=Zähler&+1
endwhile
@RegCloseKey(Handle&)
dispose Ergebnis#
Dispose TYP#
Dispose Wert#
Dispose Buffersize#
Dispose VALUESIZE#
@Listbox$("Unterschlüssel und Werte von Shell Folders&q span>, 1)
[keywords:67e9a66aa2] Werte Registry auflisten Namen erfahren Liste Schlüssel Key Registrykey [/keywords:67e9a66aa2] |
|
|
| |
|
|