Italia
Stammtisch & Caffè

RegEnumValue.

 


Beschreibung:

RegEnumValue listet alle Werte eines geöffneten Registryschlüssels auf.




Deklaration:

Def @RegEnumValue(8) !ADVAPI32,RegEnumValueA




Parameter:

1.Parameter: Handle eines geöffneten Keys (dessen Unterschlüssel man listen möchte) als LongInt oder folgende Werte =>
·HKEY_CLASSES_ROOT = $80000000
·HKEY_CURRENT_USER = $80000001
·HKEY_LOCAL_MACHINE = $80000002
·HKEY_USERS = $80000003
2.Parameter: Position des gesuchten Unterschlüssels in der Registry als LongInt.
3.Parameter: Bereichsvariable, die den Namen des Wertes empfängt.
4.Parameter: 4 Byte Bereichsvariable, deren Wert die Dimensione von Parameter 3 in Bytes angibt. Kehrt die Funktion zurück, steht hier die Anzahl der kopierten Bytes.
5.Parameter: Reserviert, muß 0 sein.
6.Parameter: 4 Byte Bereichsvariable, die Art des zurückgegebenen Wertes empfängt. =>
·$3 = (REG_BINARY) Binärer Schlüssel (Bytefolge unterschiedlicher Dimensione).
·$4 = 4 Byte oder LongIntwert. Oft werden nur die zwei oberen Bytes des Wertes berücksichtigt (REG_DWORD / REG_DWORD_LITTLE_ENDIAN).
·$5 = 4 Byte oder LongIntwert. Die unteren 2 Byte des Wertes werden berücksichtigt (REG_DWORD_BIG_ENDIAN).
·$2 = String mit abschließendem Nullbyte. Kann Umgebungsvariablen enthalten (REG_EXPAND_SZ).
·$6 = Ein symbolischer Link im Unicode Format (REG_LINK).
·$7 = Ein Array nullterminierter Strings (REG_MULTI_SZ).
·$0 = Nicht definierter Datentyp (REG_NONE).
·$8 = Treiber Resourcenliste (REG_RESOURCE_LIST).
·$1 = String mit abschließendem Nullbyte ohne Umgebungsvariablen (REG_SZ).
7.Parameter: Bereichsvariable, die il valore empfängt. Diese Variable kann Null sein, wenn nur der Namen des Wertes necessario wird.
8.Parameter: 4 Byte Bereichsvariable, deren Wert die Dimensione von Parameter 3 in Bytes angibt. Kehrt die Funktion zurück, steht hier die Anzahl der kopierten Bytes. Diese Variable kann Null sein, wenn nur der Namen des Wertes necessario wird und Parameter 7 NUll ist.




Rückgabewert:

0 bei Erfolg, bei Fehler ein Wert <>0 (Fehlercode).


Beispiele:

KompilierenMarkierenSeparieren
Def @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]
 
23.05.2005  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

1.556 Views

Untitledvor 0 min.
H.Brill13.11.2022

Themeninformationen

Dieses Thema hat 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie