SetRegView [v1.1.08+]

Setzt die Registry-Ansicht für RegRead, RegWrite, RegDelete und Registry-Schleifen, so dass diese in einem 32-Bit-Skript auf die 64-Bit-Registry-Ansicht zugreifen können und umgekehrt.

SetRegView, RegAnsicht

Parameter

RegAnsicht

Geben Sie 32 an, um die Registry aus Sicht einer 32-Bit-Anwendung zu behandeln, oder 64, um die Registry aus Sicht einer 64-Bit-Anwendung zu behandeln.

Geben Sie das Wort Default an, um das normale Verhalten wiederherzustellen.

Bemerkungen

Wenn SetRegView nicht verwendet wird, ist die Einstellung standardmäßig Default.

Dieser Befehl ist nur für die 64-Bit-Version von Windows sinnvoll. In der 32-Bit-Version von Windows hat SetRegView keine Wirkung.

In einem 64-Bit-System werden 32-Bit-Anwendungen über das Windows-Subsystem namens WOW64 ausgeführt. Standardmäßig leitet das System bestimmte Registry-Schlüssel weiter, um Konflikte zu vermeiden. Zum Beispiel wird in einem 32-Bit-Skript HKLM\SOFTWARE\AutoHotkey zu HKLM\SOFTWARE\Wow6432Node\AutoHotkey weitergeleitet. SetRegView ermöglicht Registry-Befehlen in einem 32-Bit-Skript den Zugriff auf die 64-Bit-Registry-Ansicht und umgekehrt.

Die interne Variable A_RegView enthält die aktuelle Einstellung.

Jeder neue Thread (z.B. ein Hotkey, ein benutzerdefinierter Menüpunkt oder eine zeitgesteuerte Subroutine) verwendet zunächst die Standardeinstellung des Befehls. Diese Standardeinstellung kann geändert werden, indem der Befehl im automatischen Ausführungsbereich (ganz oben im Skript) verwendet wird.

RegRead, RegWrite, RegDelete, Registry-Schleife

Beispiele

Zeigt, wie eine bestimmte Registry-Ansicht gesetzt werden kann und wie die Registry-Weiterleitung das Skript beeinflusst.

; Auf die Registry aus Sicht einer 32-Bit-Anwendung zugreifen.
SetRegView 32
RegWrite REG_SZ, HKLM, SOFTWARE\Test.ahk, Wert, 123

; Auf die Registry aus Sicht einer 64-Bit-Anwendung zugreifen.
SetRegView 64
RegRead Wert, HKLM, SOFTWARE\Wow6432Node\Test.ahk, Wert
RegDelete HKLM, SOFTWARE\Wow6432Node\Test.ahk

MsgBox Gelesener Wert '%Wert%' via Wow6432Node.

; Standard-Registry-Ansicht wiederherstellen,
; je nachdem, ob das Skript 32-Bit oder 64-Bit ist.
SetRegView Default
; ...

Zeigt, wie der EXE-Typ und das Betriebssystem, auf dem das Skript läuft, erkannt werden können.

if (A_PtrSize = 8)
    Skript_ist := "64-Bit"
else ; if (A_PtrSize = 4)
    Skript_ist := "32-Bit"

if (A_Is64bitOS)
    OS_ist := "64-Bit"
else
    OS_ist := "32-Bit mit nur einer einzigen Registry-Ansicht"

MsgBox Dieses Skript ist %Skript_ist% und das OS ist %OS_ist%.