| |
|
|
|
Description:
RegEnumValue listet any values one opened Registryschlüssels on.
Deklaration:
Def @RegEnumValue(8) !ADVAPI32,RegEnumValueA
Parameter:
1.Parameter: lever one opened Keys (which Unterschlüssel one lists would like) as LongInt or following values => ·HKEY_CLASSES_ROOT = $80000000 ·HKEY_CURRENT_USER = $80000001 ·HKEY_LOCAL_MACHINE = $80000002 ·HKEY_USERS = $80000003 2.Parameter: position the sought Unterschlüssels in the Registry as LongInt. 3.Parameter: Memory-Variable, The whom names the Wertes receiving. 4.Parameter: 4 byte Memory-Variable, its worth The Size of Parameter 3 in Bytes angibt. Kehrt The function back, standing here The Number of copied Bytes. 5.Parameter: reserved, must 0 his. 6.Parameter: 4 byte Memory-Variable, The manner the zurückgegebenen Wertes receiving. => ·$3 = (REG_BINARY) Binärer Key (Bytefolge unterschiedlicher Size). ·$4 = 4 byte or LongIntwert. often go only The two oberen Bytes the Wertes berücksichtigt (REG_DWORD / REG_DWORD_LITTLE_ENDIAN). ·$5 = 4 byte or LongIntwert. The downstairs 2 byte the Wertes go berücksichtigt (REG_DWORD_BIG_ENDIAN). ·$2 = String with abschließendem Nullbyte. can Enviroment-Variables include (REG_EXPAND_SZ). ·$6 = One symbolischer Link in the Unicode stature (REG_LINK). ·$7 = One aray nullterminierter Strings (REG_MULTI_SZ). ·$0 = not definierter Datentyp (REG_NONE). ·$8 = driver Resourcenliste (REG_RESOURCE_LIST). ·$1 = String with abschließendem Nullbyte without Enviroment-Variables (REG_SZ). 7.Parameter: Memory-Variable, The the value receiving. These Variable can zero his, if only the names the Wertes needed becomes. 8.Parameter: 4 byte Memory-Variable, its worth The Size of Parameter 3 in Bytes angibt. Kehrt The function back, standing here The Number of copied Bytes. These Variable can zero his, if only the names the Wertes needed and is Parameter 7 NUll is.
Return Value:
0 with success, with Error one worth <>0 (Error Code).
Examples:
CompileMarkSeparationDef @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] values Registry List names experienced list Key Key Registrykey [/keywords:67e9a66aa2] |
|
|
| |
|
|