Liest einen Wert aus der Registry.
Wert := RegRead(SchlüsselName, WertName, Standardwert)
Typ: Zeichenkette
Der vollständige Name des Registry-Schlüssels, z.B. "HKLM\Software\BeliebigeApp"
.
Der Name muss entweder mit HKEY_LOCAL_MACHINE (oder HKLM), HKEY_USERS (oder HKU), HKEY_CURRENT_USER (oder HKCU), HKEY_CLASSES_ROOT (oder HKCR) oder HKEY_CURRENT_CONFIG (oder HKCC) beginnen.
Um auf eine Remote-Registry zuzugreifen, stellen Sie den Computernamen und einen umgekehrten Schrägstrich voran, z.B. "\\workstation01\HKLM"
.
SchlüsselName kann nur weggelassen werden, wenn eine Registry-Schleife läuft - in diesem Fall wird standardmäßig der Schlüssel des aktuellen Schleifenelements verwendet. Wenn das Element ein Unterschlüssel ist, wird standardmäßig der vollständige Name dieses Unterschlüssels verwendet. Wenn das Element ein Wert ist, verwendet WertName standardmäßig den Namen dieses Wertes, kann aber überschrieben werden.
Typ: Zeichenkette
Wenn leer oder weggelassen, wird der Standardwert des Schlüssels abgerufen (außer wie oben erwähnt) - das ist der Wert, den RegEdit als "(Standard)" anzeigt. Andernfalls geben Sie den Namen des abzurufenden Wertes an. Wenn es keinen Standardwert gibt (also wenn RegEdit "Wert nicht festgelegt" anzeigt), wird ein OSError ausgelöst.
Typ: Any
Wenn weggelassen, wird ein OSError ausgelöst, anstatt einen Standardwert zurückzugeben. Andernfalls geben Sie den Wert an, der zurückgegeben werden soll, wenn der angegebene Schlüssel oder Wert nicht existiert.
Typ: Zeichenkette oder Integer
Diese Funktion gibt einen Wert des angegebenen Registry-Schlüssels zurück.
Bei Misserfolg wird ein OSError ausgelöst. Misserfolg ist z.B. ein nicht-existierender Schlüssel oder Wert bei weggelassenem Standardwert oder ein Berechtigungsfehler.
A_LastError wird auf das Ergebnis der Systemfunktion GetLastError() gesetzt.
Zurzeit werden nur die folgenden Werttypen unterstützt: REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ, REG_DWORD und REG_BINARY.
REG_DWORD-Werte sind in der Registry immer positive Dezimalzahlen. Wenn ein REG_DWORD-Wert als negative Zahl gedacht war, wandeln Sie ihn mit AusgabeVar := AusgabeVar << 32 >> 32
o.ä. in einen vorzeichenfähigen 32-Bit-Integer um.
Wenn ein REG_BINARY-Schlüssel gelesen wird, ist das Ergebnis eine Zeichenkette aus hexadezimalen Zeichen. Zum Beispiel wird der REG_BINARY-Wert 01,a9,ff,77 als 01A9FF77 gelesen.
Wenn ein REG_MULTI_SZ-Schlüssel gelesen wird, endet jede Komponente mit einem Zeilenvorschubzeichen (`n). Wenn keine Komponenten vorhanden sind, wird eine leere Zeichenkette zurückgegeben. Um die einzelnen Komponenten aus dem Rückgabewert zu extrahieren, verwenden Sie eine parsende Schleife.
Mit der Registry-Schleife können mehrere Registry-Schlüssel und -Werte abgerufen und bearbeitet werden.
In den Bemerkungen zur Registry-Schleife finden Sie Informationen darüber, wie auf die Registry eines Remote-Computers zugegriffen werden kann.
Um Einträge in den 64-Bit-Bereichen der Registry mit einem 32-Bit-Skript (oder umgekehrt) zu lesen und zu schreiben, verwenden Sie SetRegView.
RegCreateKey, RegDelete, RegDeleteKey, RegWrite, Registry-Schleife, SetRegView, IniRead
Liest einen Wert aus der Registry und speichert ihn in Testwert.
Testwert := RegRead("HKEY_LOCAL_MACHINE\Software\BeliebigeApp", "Testwert")
Ruft den Pfad des Ordners "Programme" ab und meldet ihn. Eine alternative Methode finden Sie unter EnvGet-Beispiel #2.
; Die folgende Zeile stellt sicher, dass der Pfad des 64-Bit-Programmordners ; zurückgegeben wird, wenn das System 64-Bit ist und das Skript nicht. SetRegView 64 ProgramFilesDir := RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion", "ProgramFilesDir") MsgBox "Programmdateien sind in: " ProgramFilesDir
Ruft den Typ eines Registry-Wertes (z.B. REG_SZ oder REG_DWORD) ab.
MsgBox RegSchlüsselTyp("HKCU", "Environment", "TEMP") return RegSchlüsselTyp(RootSchlüssel, UnterSchlüssel, WertName) ; Diese Funktion gibt den Typ eines bestimmten Wertes zurück. { Loop Reg, RootSchlüssel "\" UnterSchlüssel if (A_LoopRegName = WertName) return A_LoopRegType return "Fehler" }