SetRegView

提供: AutoHotkey Wiki
移動: 案内検索

実行制御 | GUI表示 | 演算・変数 | メモリ・DLL操作 | 文字列操作 | キーボード | マウス | シェル | ウィンドウ | ウィンドウグループ
ステータスバー | コントロール | サウンド | ファイル | INIファイル | レジストリ | 環境変数 | AutoHotkey | その他 | 設定関係 | オブジェクト

SetRegView [v1.1.08+][編集]

AHKL RegRead, RegWrite, RegDelete, Loop (レジストリ)で使用するレジストリビューの方式(32-bit/62-bit)を変更する。

SetRegView, RegView

Parameters[編集]

引数名 説明
RegView Default 通常動作に戻す。
32 32-bitアプリケーションと同じようにレジストリを表示する。
64 64-bitアプリケーションと同じようにレジストリを表示する。

Remarks[編集]

このコマンドはWindows 64-bitでのみ有効、Windows 32-bitでは何の効果もない。

64-bitシステムでは、32-bitアプリケーションは WOW64 と呼ばれるWindowsのサブシステムで実行される。 デフォルトではシステムの競合を避けるために特定のレジストリキーをリダイレクトする。 例えば、32-bitのスクリプトで、 HKLM\SOFTWARE\AutoHotkeyHKLM\SOFTWARE\Wow6432Node\AutoHotkey にリダイレクトされる。 SetRegViewは32-bitスクリプトでレジストリコマンドを64-bitのレジストリビューとその逆にリダイレクトされるキーにアクセスすることができる。

組み込み変数A_RegViewで現在の設定値を参照できる。 すべての新たに起動されたスレッドは(ホットキー, カスタムメニュー項目, 定期実行サブルーチンなど)このコマンドのデフォルト設定で新たに開始される。Auto-executeセクションでこのコマンドを使用し基本値を変更することができる。

Related[編集]

RegRead, RegWrite, RegDelete, Loop (レジストリ)

Example(s)[編集]

Example1 特定のレジストリビューを設定する方法を示し、どのようにレジストリのリダイレクトがスクリプトに影響するかを示す。

; 32-bitアプリケーションと同じようにレジストリにアクセスします。
SetRegView 32
RegWrite REG_SZ, HKLM, SOFTWARE\Test.ahk, Value, 123

; 64-bitアプリケーションと同じようにレジストリにアクセスします。
SetRegView 64
RegRead value, HKLM, SOFTWARE\Wow6432Node\Test.ahk, Value
RegDelete HKLM, SOFTWARE\Wow6432Node\Test.ahk

MsgBox Read value '%value%' via Wow6432Node.

; レジストリビューをデフォルトに戻す。
; スクリプトが32-bit/64-bitかどうかによって異なる。
SetRegView Default
;...

Example2 スクリプトが実行されているEXEおよびオペレーティングシステムの種類を検出する方法を示している。

If (A_PtrSize = 8)
    script_is := "64-bit"
Else ; if (A_PtrSize = 4)
    script_is := "32-bit"

If (A_Is64bitOS)
    OS_is := "64-bit"
Else
    OS_is := "32-bit, which has only a single registry view"

MsgBox This script is %script_is%, and the OS is %OS_is%.