Deutsch
Stammtisch & Café

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 Größe 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 Größe).
·$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 den Wert empfängt. Diese Variable kann Null sein, wenn nur der Namen des Wertes benötigt wird.
8.Parameter: 4 Byte Bereichsvariable, deren Wert die Größe 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 benötigt 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",1)

[keywords:67e9a66aa2]
Werte Registry auflisten Namen erfahren Liste Schlüssel Key Registrykey
[/keywords:67e9a66aa2]
 
23.05.2005  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

1.557 Betrachtungen

Unbenanntvor 0 min.
H.Brill13.11.2022

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

unbekannt (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


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