RegRead

レジストリから値を読み込みます。

Value := RegRead(KeyName, ValueName, Default)

パラメータ

KeyName

型:文字列

レジストリキーのフルネームです。例:"HKLM\Software\SomeApplication".

キーは、HKEY_LOCAL_MACHINE (または HKLM), HKEY_USERS (または HKU), HKEY_CURRENT_USER (または HKCU), HKEY_CLASSES_ROOT (または HKCR), or HKEY_CURRENT_CONFIG (または HKCC)で始まらなければなりません。

リモートレジストリにアクセスするには、"\\workstation01\HKLM"のようにコンピューター名とバックスラッシュを前に追加してください。.

KeyNameレジストリループが実行されている場合のみ省略可能で、その場合、現在のループアイテムのキーがデフォルトとなります。項目がサブキーのときは、デフォルトでそのサブキーのフルネームが使用されます。項目が値の場合、ValueNameのデフォルトはその値の名前であるが、オーバーライドすることができる。

ValueName

型:文字列

If blank or omitted, the key's default value will be retrieved (except as noted above), which is the value displayed as "(Default)" by RegEdit. Otherwise, specify the name of the value to retrieve. デフォルト値がない場合(つまり、RegEditが「value not set」と表示した場合)、OSErrorが投げられる。

デフォルト

型:Any

省略された場合、デフォルト値を返す代わりにOSErrorが投げられる。Otherwise, specify the value to return if the specified key or value does not exist.

戻り値

型:文字列または整数

説明: 指定されたレジストリキーの値を返します。

エラー処理

Defaultが省略された場合の存在しないキーや値、パーミッションエラーなど、問題があった場合にOSErrorがスローされる。

A_LastErrorには、オペレーティングシステムのGetLastError()関数の結果が設定されます。

備考

現在、以下の値の種類にのみ対応しています:REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ, REG_DWORD, and REG_BINARY.

レジストリでは、REG_DWORDの値は常に正の10進数で表現されます。負の数を想定していた場合は、OutputVar := OutputVar << 32 >> 32などで符号付き32ビット整数に変換する。

REG_BINARYキーを読み込むと、16進数の文字列が表示されます。例えば、REG_BINARYの値01,a9,ff,77は、文字列01A9FF77として読み込まれることになります。

REG_MULTI_SZキーを読み込む場合、各構成要素は改行文字(`n)で終わります。構成要素がない場合は、空文字列が返されます。To extract the individual components from the return value, use a parsing loop.

複数のレジストリキーや値を取得し、操作するためにはレジストリループの利用を検討してください。

リモートコンピュータのレジストリにアクセスする方法については、レジストリループの備考をご覧ください。

32ビットスクリプトでレジストリの64ビットセクションのエントリを読み書きしたり、その逆を行うには、SetRegViewを使用します。

RegCreateKey, RegDelete, RegDeleteKey, RegWrite, registry loop, SetRegView, IniRead

レジストリから値を読み取り、TestValueに格納します。

TestValue := RegRead("HKEY_LOCAL_MACHINE\Software\SomeApplication", "TestValue")

Program Filesディレクトリのパスを取得して返します。別の方法については、EnvGetの例2を参照してください。

; The line below ensures that the path of the 64-bit Program Files
; directory is returned if the OS is 64-bit and the script is not.
SetRegView 64

ProgramFilesDir := RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion", "ProgramFilesDir")
MsgBox "Program files are in:" ProgramFilesDir

Retrieves the type of a registry value (e.g. REG_SZ or REG_DWORD).

MsgBox RegKeyType("HKCU", "Environment", "TEMP")
return

RegKeyType(RootKey, SubKey, ValueName)  ; This function returns the type of the specified value.
{
    Loop Reg, RootKey "\" SubKey
        if (A_LoopRegName = ValueName)
            return A_LoopRegType
    return "Error"
}