Liest einen Wert aus der Registry.
RegRead, AusgabeVar, SchlüsselName , WertName
Name der Ausgabevariable, in der der abgerufene Wert gespeichert werden soll. Falls der Wert nicht abgerufen werden kann, wird die Variable leer gemacht und ErrorLevel auf 1 gesetzt.
Der vollständige Name des Registry-Schlüssels.
Der Name muss entweder mit HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT oder HKEY_CURRENT_CONFIG beginnen (oder jeweils die Abkürzung, wie z. B. HKLM). Um Zugriff auf eine Remote-Registry zu erhalten, setzen Sie wie folgt den Computernamen und einen Doppelpunkt (oder [in v1.1.21+] einen Schrägstrich) davor: \\workstation01:HKEY_LOCAL_MACHINE
Der Name des Wertes, der abgerufen werden soll. Lässt man diesen Parameter weg, wird der Standardwert von SchlüsselName abgerufen - das ist der Wert, der in RegEdit als "(Standard)" angezeigt wird. Wenn es keinen Standardwert gibt (also wenn RegEdit "Wert nicht festgelegt" anzeigt), wird AusgabeVar leer gemacht und ErrorLevel auf 1 gesetzt.
Veraltet: Diese Syntax ist nicht für neue Skripte empfohlen. Verwenden Sie stattdessen die neue Syntax.
RegRead, AusgabeVar, RootSchlüssel, UnterSchlüssel , WertName
Name der Ausgabevariable, in der der abgerufene Wert gespeichert werden soll. Falls der Wert nicht abgerufen werden kann, wird die Variable leer gemacht und ErrorLevel auf 1 gesetzt.
Entweder 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). Um Zugriff auf eine Remote-Registry zu erhalten, setzen Sie wie folgt den Computernamen und einen Doppelpunkt (oder [in v1.1.21+] einen Schrägstrich) davor: \\workstation01:HKEY_LOCAL_MACHINE
Der Name des Unterschlüssels (z. B. Software\BeliebigeAnwendung).
Der Name des Wertes, der abgerufen werden soll. Lässt man diesen Parameter weg, wird der Standardwert von UnterSchlüssel abgerufen - das ist der Wert, der in RegEdit als "(Standard)" angezeigt wird. Wenn es keinen Standardwert gibt (also wenn RegEdit "Wert nicht festgelegt" anzeigt), wird AusgabeVar leer gemacht und ErrorLevel auf 1 gesetzt.
[v1.1.04+]: Dieser Befehl ist in der Lage, bei Misserfolg eine Ausnahme auszulösen. Weitere Informationen finden Sie unter Laufzeitfehler.
ErrorLevel wird bei Misserfolg auf 1 (z. B. nicht-existierender Schlüssel oder Wert) oder bei Erfolg auf 0 gesetzt.
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 werden immer als positive Dezimalzahlen dargestellt. Wenn die Zahl dazu gedacht war, negativ zu sein, können Sie sie mit AusgabeVar := AusgabeVar << 32 >> 32
oder ähnlichem in einen vorzeichenfähigen 32-Bit-Integer umwandeln.
Beim Lesen eines REG_BINARY-Schlüssels ist das Ergebnis eine Zeichenkette mit hexadezimalen Zeichen. Zum Beispiel würde ein REG_BINARY-Wert von 01,a9,ff,77 als Zeichenkette 01A9FF77 gelesen werden.
Beim Lesen eines REG_MULTI_SZ-Schlüssels endet jede Komponente mit einem Zeilenumbruchszeichen (`n). Gibt es keine Komponenten, wird AusgabeVar leer gemacht. In FileSelectFile finden Sie ein Beispiel, wie einzelne Komponenten aus AusgabeVar extrahiert werden können.
[v1.1.10.01+]: REG_BINARY-Werte größer als 64 KB können auch gelesen werden.
Mit der Registry-Schleife können mehrere Registry-Schlüssel und -Werte abgerufen und bearbeitet werden.
In den Bemerkungen zur Registry-Schleife finden Sie Hinweise, wie man auf die Registry eines Remotecomputers zugreifen kann.
Mit SetRegView können Einträge von den 64-Bit-Bereichen der Registry in einem 32-Bit-Skript oder umgekehrt gelesen und geschrieben werden.
RegDelete, RegWrite, Registry-Schleife, SetRegView, IniRead
Trotz der unterschiedlichen Syntax haben beide Beispiele den gleichen Effekt: Sie lesen einen Wert aus der Registry und speichern ihn in AusgabeVar.
RegRead, AusgabeVar, HKEY_LOCAL_MACHINE\Software\BeliebigeAnwendung, Testwert
RegRead, AusgabeVar, HKEY_LOCAL_MACHINE, Software\BeliebigeAnwendung, Testwert
Ermittelt und meldet den Pfad des "Program Files"-Ordners. Eine alternative Methode finden Sie unter EnvGet-Beispiel #2.
; Die nachfolgende Zeile stellt sicher, dass die 64-Bit-Version des Programm-Ordners ; zurückgegeben wird, wenn das Betriebssystem 64-Bit ist und das Skript nicht. SetRegView 64 ; Benötigt [v1.1.08+] RegRead, AusgabeVar, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion, ProgramFilesDir MsgBox, Programmdateien sind in: %AusgabeVar%
Ermittelt den TYP eines Registry-Wertes (z. B. REG_SZ oder REG_DWORD).
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, %RootSchlüssel%, %UnterSchlüssel% if (A_LoopRegName = WertName) return A_LoopRegType return "Fehler" }