RegWrite

レジストリに値を書き込みます。

RegWrite Value, ValueType, KeyName , ValueName
RegWrite Value , ValueType, , ValueName

パラメータ

Value

型:文字列または整数

書き込むべき値。長いテキスト値は、継続セクションによっていくつかの短い行に分割することができ、読みやすさや保守性が向上する可能性があります。

ValueType

型:文字列

REG_SZ、REG_EXPAND_SZ、REG_MULTI_SZ、REG_DWORD、またはREG_BINARYのいずれかでなければなりません。

ValueType can be omitted only if KeyName is omitted and the current registry loop item is a value, as noted below.

KeyName

型:文字列

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

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

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

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

ValueName

型:文字列

If blank or omitted, the key's default value will be used (except as noted above), which is the value displayed as "(Default)" by RegEdit. Otherwise, specify the name of the value that will be written to.

エラー処理

失敗したときはOSErrorをスローします。

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

備考

KeyNameが存在しないサブキーを指定した場合、RegWriteはそれを作成しようとします(必要であれば、その祖先も一緒に)。RegWriteはルートキーに直接書き込むことができますが、OSによってはHKEY_CURRENT_USERの最上位に書き込むことを拒否する場合があります。

値を書き込まずにキーを作成するには、RegCreateKeyを使用します。

ValueTypeがREG_DWORDの場合、Valueは-2147483648から4294967295(0xFFFFFFF)の間とする。レジストリでは、REG_DWORDの値は常に正の10進数で表現されます。RegReadなどで負の数として読み込む場合は、OutputVar := OutputVar << 32 >> 32などで符号付き32ビット整数に変換してください。

REG_BINARYキーを書くときは、16進数の文字列を使用します。例えば、REG_BINARY値01,a9,ff,77は、01A9FF77という文字列で書くことができます。

REG_MULTI_SZキーを書くときは、各コンポーネントと次のコンポーネントをラインフィード文字(`n)で区切る必要があります。最後のコンポーネントは、オプションとして、ラインフィードで終了することもできる。ブランク部品は不可です。つまり、2つ並んだ改行(`n`n)を指定すると、予想以上に短い値がレジストリに書き込まれることになるので、指定しないようにしましょう。

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

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

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

RegCreateKeyRegDeleteRegDeleteKeyRegReadレジストリループSetRegViewIniWrite

レジストリに文字列を書き込みます。

RegWrite "Test Value", "REG_SZ", "HKEY_LOCAL_MACHINE\SOFTWARE\TestKey", "MyValueName"

レジストリにバイナリデータを書き込みます。

RegWrite "01A9FF77", "REG_BINARY", "HKEY_CURRENT_USER\Software\TEST_APP", "TEST_NAME"

レジストリに複数行の文字列を書き込みます。

RegWrite "Line1`nLine2", "REG_MULTI_SZ", "HKEY_CURRENT_USER\Software\TEST_APP", "TEST_NAME"