Liest den Namen eines Wertes aus der Registry.
RegEnumVal ( "keyname", instance )
keyname | Der Registry-Schlüssel, in dem gelesen werden soll. |
instance | Die Instanz, die ermittelt werden soll (basierend auf 1). |
Erfolg: | Den angeforderten Wertnamen. In @EXTENDED wird der Typ der Wertes geschrieben. |
Fehler: | Setzt das @error Flag auf ungleich null. |
@error: | 1 = der angegebene Schlüssel kann nicht geöffnet werden 2 = es ist nicht möglich auf den Hauptschlüssel zuzugreifen 3 = es kann von extern (remote) nicht auf die Registry zugegriffen werden -1 = der angefrage Wert kann nicht ermittelt werden (Instanzwert außerhalb des zulässigen Bereichs) |
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.
"HK" oder "HKEY" bedeutet "Handle (to a) KEY".
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").
Registry-Zweige:
64 Bit: HKLM\SOFTWARE\…
32 Bit: HKLM\SOFTWARE\WOW6432Node\…
AutoIt-Skript: Ausführungs-Modus | AutoIt-Skript: Angabe im Quellcode | Registrierungs-Editor: Verwendeter Zweig |
---|---|---|
32 Bit | HKLM\SOFTWARE\… | HKLM\SOFTWARE\WOW6432Node\… |
32 Bit | HKLM64\SOFTWARE\… | HKLM\SOFTWARE\… |
32 Bit | HKLM\SOFTWARE\WOW6432Node\… | HKLM\SOFTWARE\WOW6432Node\… |
64 Bit | HKLM\SOFTWARE\… | HKLM\SOFTWARE\… |
64 Bit | HKLM64\SOFTWARE\… | HKLM\SOFTWARE\… |
64 Bit | HKLM\SOFTWARE\WOW6432Node\… | HKLM\SOFTWARE\WOW6432Node\… |
RegDelete, RegEnumKey, RegWrite
#include <MsgBoxConstants.au3>
Example()
Func Example()
Local $i, $sVar, $sWow64 = "", $sEnumVal = "Unter dem AutoIt3 Schlüssel." & @CRLF & @CRLF
Local $aRegValueType[12] = ["REG_NONE", "REG_SZ", "REG_EXPAND_SZ", "REG_BINARY", _
"REG_DWORD_LITTLE_ENDIAN", "REG_DWORD_BIG_ENDIAN", "REG_LINK", _
"REG_MULTI_SZ", "REG_RESOURCE_LIST", "REG_FULL_RESOURCE_DESCRIPTOR", _
"REG_RESOURCE_REQUIREMENTS_LIST", "REG_QWORD_LITTLE_ENDIAN"]
; X64 Unterstützung
If @AutoItX64 Then $sWow64 = "\Wow6432Node"
For $i = 1 To 100
$sVar = RegEnumVal("HKEY_LOCAL_MACHINE\SOFTWARE" & $sWow64 & "\AutoIt v3\AutoIt", $i)
If @error <> 0 Then ExitLoop
$sEnumVal &= "# " & $i & ":" & StringLeft($aRegValueType[@extended] & " ", 31) & $sVar & @CRLF
Next
MsgBox($MB_SYSTEMMODAL, "RegEnumVal Beispiel", $sEnumVal)
EndFunc ;==>Example