| |
|
|
|
Beschreibung:
RegEnumValue listet alle Werte eines geöffneten Registryschlüssels sur.
Deklaration:
Def @RegEnumValue(8) !ADVAPI32,RegEnumValueA
paramètre:
1.paramètre: Handle eines geöffneten Keys (dessen Unterschlüssel on listen voudrais) comme LongInt ou bien folgende Werte => ·HKEY_CLASSES_ROOT = $80000000 ·HKEY_CURRENT_USER = $80000001 ·HKEY_LOCAL_MACHINE = $80000002 ·HKEY_USERS = $80000003 2.paramètre: Position des gesuchten Unterschlüssels dans qui Registry comme LongInt. 3.paramètre: Bereichsvariable, qui den Namen des Wertes empfängt. 4.paramètre: 4 Byte Bereichsvariable, en Wert qui Taille de paramètre 3 dans Bytes angibt. Kehrt qui Funktion zurück, steht ici le nombre qui kopierten Bytes. 5.paramètre: Reserviert, doit 0 son. 6.paramètre: 4 Byte Bereichsvariable, qui Art des zurückgegebenen Wertes empfängt. => ·$3 = (REG_BINARY) Binärer Schlüssel (Bytefolge unterschiedlicher Taille). ·$4 = 4 Byte ou bien LongIntwert. souvent volonté seulement qui deux oberen Bytes des Wertes berücksichtigt (REG_DWORD / REG_DWORD_LITTLE_ENDIAN). ·$5 = 4 Byte ou bien LongIntwert. qui unteren 2 Byte des Wertes volonté berücksichtigt (REG_DWORD_BIG_ENDIAN). ·$2 = String avec abschließendem Nullbyte. peux Umgebungsvariablen enthalten (REG_EXPAND_SZ). ·$6 = un symbolischer Link im Unicode Format (REG_LINK). ·$7 = un Array nullterminierter Cordes (REG_MULTI_SZ). ·$0 = pas definierter Datentyp (REG_NONE). ·$8 = Treiber Resourcenliste (REG_RESOURCE_LIST). ·$1 = String avec abschließendem Nullbyte sans Umgebungsvariablen (REG_SZ). 7.paramètre: Bereichsvariable, qui la valeur empfängt. cet Variable peux zéro son, si seulement qui Namen des Wertes nécessaire wird. 8.paramètre: 4 Byte Bereichsvariable, en Wert qui Taille de paramètre 3 dans Bytes angibt. Kehrt qui Funktion zurück, steht ici le nombre qui kopierten Bytes. cet Variable peux zéro son, si seulement qui Namen des Wertes nécessaire wird et paramètre 7 NUll ist.
Rückgabewert:
0 chez Erfolg, chez faute un Wert <>0 (Fehlercode).
Beispiele:
KompilierenMarqueSéparationDef @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] |
|
|
| |
|
|