| |
|
|
|
Beschreibung:
RegQueryValueEx liest den Typ et qui données eines eines Wertes aus qui Registry aus.
Deklaration:
Def @RegQueryValueEx(6) !ADVAPI32,RegQueryValueExA
paramètre:
1.paramètre: Handle des Registryschlüssels, qui la valeur contient comme LongInt. 2.paramètre: Adresse eines Cordes avec dem Namen des auszulesenden Wertes ou bien une Bereichsvariable, qui cette Namen contient. 3.paramètre: Reserviert, doit 0 son. 4.paramètre: Bereichsvariable, qui den Typ des ausgelesenen Wertes empfängt (peux 0 son) => -$3 = Binärer Schlüssel (Bytefolge unterschiedlicher Taille). -$4 = 4 Byte ou bien LongIntwert. souvent volonté seulement qui deux oberen Bytes des Wertes berücksichtigt. -$5 = 4 Byte ou bien LongIntwert. qui unteren 2 Byte des Wertes volonté berücksichtigt. -$2 = String avec abschließendem Nullbyte. peux Umgebungsvariablen enthalten. -$6 = un symbolischer Link im Unicode Format. -$7 = un Array nullterminierter Cordes. -$0 = pas definierter Datentyp. -$8 = Treiber Resourcenliste. -$1 = String avec abschließendem Nullbyte sans Umgebungsvariablen. 5.paramètre: Bereichvariable, qui la valeur empfängt. 6.paramètre: 4 Byte Bwereichsvariable. cette Wert doit sur qui Taille des Bereichs dans paramètre 4 gesetzt volonté. si qui Funktion zurückkehrt, steht ici qui Longueur des ausgelesenen Wertes dans Bytes.
Rückgabewert:
0 chez Erfolg, chez Misserfolg un Wert <>0 (Fehlercode).
Beispiele:
Déclarer Handle#,FEHLER&,Key#,nom#,Wert#,Size#,Type#
def @RegOpenKeyEx(5) !"ADVAPI32","RegOpenKeyExA"
def @RegQueryValueEx(6) !"ADVAPI32","RegQueryValueExA"
def @RegCloseKey(1) !"ADVAPI32","RegCloseKey"
Windowstyle 31
Windowtitle "Aus Registry Startmenüname auslesen"
Fenêtre 0,0-640,440
DIM Key#,260
DIM Handle#,4
DIM nom#,250
DIM Size#,4
DIM Wert#,260
Faible Type#,4
String clé#,0="SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders"
LET FEHLER&=@RegOpenKeyEx($80000001,Key#,0,$F003F,Handle#)
Imprimer "Fehlercode beim Öffenen des Schlüssels User Shell Folders: ";Fehler&
IF Fehler&=0
String nom#,0="Start Menu"
long Size#,0=260
Laisser Fehler&=@RegQueryValueEx(@Long(Handle#,0),nom#,0,Type#,Wert#,Size#)
Imprimer "Fehlercode beim Lecture des Schlüssels: ";Fehler&
Imprimer »
Imprimer "Das Startmenü des aktuellen Users steht ici: "
Imprimer @String$(Wert#,0)
Imprimer "Typ des Schlüssels: ";@Long(Type#,0)
Imprimer "Länge des Wertes: ";@Long(Size#,0);" Bytes"
Imprimer »
Imprimer "Fehlercode RegCloseKey: ";@RegCloseKey(@Long(Handle#,0))
endif
IF Fehler&<>0
String clé#,0="SoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders"
LET FEHLER&=@RegOpenKeyEx($80000001,Key#,0,$F003F,Handle#)
Imprimer "Fehlercode beim Öffenen des Schlüssels Shell Folders: ";Fehler&
String nom#,0="Start Menu"
long Size#,0=260
Laisser Fehler&=@RegQueryValueEx(@Long(Handle#,0),nom#,0,Type#,Wert#,Size#)
Imprimer "Fehlercode beim Lecture des Schlüssels: ";Fehler&
Imprimer »
Imprimer "Das Startmenü des aktuellen Users steht ici: "
Imprimer @String$(Wert#,0)
Imprimer "Typ des Schlüssels: ";@Long(Type#,0)
Imprimer "Länge des Wertes: ";@Long(Size#,0);" Bytes"
Imprimer »
Imprimer "Fehlercode RegCloseKey: ";@RegCloseKey(@Long(Handle#,0))
endif
IF Fehler&<>0
Imprimer "Fehler!!!!!! Startmenü konnte pas ausgelesen volonté!!!"
endif
Dispose Type#
Dispose Wert#
Dispose clé#
Dispose Handle#
Dispose nom#
Dispose Size#
Tandis que 0=0
Waitinput
Wend
|
|
|
| |
|
|