Funktionsreferenz

RegRead

Liest einen Wert aus der Registry.

RegRead ( "keyname", "valuename" )

 

Parameter

keyname Der Registry-Schlüssel, der den auszulesenden Wert beinhaltet.
valuename Der Wert, der ausgelesen werden soll.

 

Rückgabewert

Erfolg: Gibt den Inhalt des angegebenen Werts zurück. @EXTENDED wird auf den Typ des jeweiligen Wertes gesetzt (siehe Constants.au3 bei $REG_...).
Fehler: Gibt "" zurück und setzt @error auf:
1 falls der angegebene Schlüssel nicht geöffnet werden kann
2 falls es nicht möglich ist auf den Hauptschlüssel zuzugreifen
3 wenn von extern (remote) nicht auf die Registry zugegriffen werden kann
-1 falls der angegebene Wert nicht geöffnet werden kann
-2 falls der Typ des Werts nicht unterstützt wird

 

Bemerkungen

Ein Registry-Schlüssel muss mit "HKEY_LOCAL_MACHINE" ("HKLM"), "HKEY_USERS" ("HKU"), "HKEY_CURRENT_USER" ("HKCU"), "HKEY_CLASSES_ROOT" ("HKCR") oder "HKEY_CURRENT_CONFIG" ("HKCC") beginnen.

Falls bei einem 64-Bit Windows auf die speziellen Einträge des 64-Bit Systems zugegriffen werden soll, muss dem Begriff HK... das Suffix 64 angehängt werden (z. B. HKLM64).

AutoIt unterstützt Registry-Werte der Typen REG_BINARY, REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ und REG_DWORD.

Um mit dem (Standard)-Wert zu operieren, muss man "" (einen leeren String) als Wertname verwenden.

Wenn ein REG_BINARY gelesen wird, wird ein binärer Datentyp zurückgegeben. (in den vorherigen Versionen war es ein String mit den Zeichen in der hexadezimalen Schreibweise).

Wenn Werte des Typs REG_MULTI_SZ gelesen werden, werden diese mit @LF voneinander abgetrennt. Man sollte die Funktion StringSplit(..., @LF) verwenden, um die einzelnen Einträge zu erhalten.

Es ist möglich, Registries im Netzwerk zu bearbeiten. Dazu ist "\\Computername\Schlüsselname" zu verwenden. Um diese Funktion verwenden zu können, ist es unter Windows NT/2000/XP/2003 notwendig, die entsprechenden Zugriffsrechte zu besitzen.

 

Verwandte Funktionen

RegDelete, RegWrite, StringSplit

 

Beispiel


$var = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion", "ProgramFilesDir")
MsgBox(4096, "Ordner für Programme:", $var)