RegWrite

AutoHotKey

RegWrite

写入值到注册表.

RegWrite, ValueType, RootKey\SubKey [, ValueName, Value]  ; v1.1.21+
RegWrite, ValueType, RootKey, SubKey [, ValueName, Value]

参数

ValueType

必须为 REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ, REG_DWORD 或 REG_BINARY 的其中一个.

RootKey

必须为 HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT 或 HKEY_CURRENT_CONFIG 的其中一个 (或者它们的缩写, 例如 HKLM). 要访问远程注册表, 请在前面加上计算机名和冒号 (或 v1.1.21+ , 正斜线 /), 例如: \\workstation01:HKEY_LOCAL_MACHINE

SubKey

子键名 (例如 Software\SomeApplication). 如果 SubKey 不存在,则进行创建(需要时创建它的父键以及父键的父键等).如果 SubKey 留空, 则直接把值写入到 RootKey (不过一些操作系统可能会拒绝写入到 HKEY_CURRENT_USER 的根键中).

RootKey\SubKey [v1.1.21+]

If RootKey is followed immediately by a slash (\), RootKey and SubKey are merged into a single parameter.

ValueName

将被写入的值名. 如果为空或省略, 则使用 Subkey 的默认值, 这是在注册表中值名显示为 "(默认)" 的值.

要写入的值. 如果省略, 则根据 ValueType 的不同它默认为空字符串或 0. 如果文本较长, 可以通过 延续片段 的方法将其分解成较短的几行, 这样可以增加可读性和可维护性.

ErrorLevel

[v1.1.04+] 此命令失败时会抛出异常. 想了解更多信息, 请参阅 运行时错误.

如果遇到问题则 ErrorLevel 被置为 1, 否则为 0.

A_LastError 被设置为操作系统 GetLastError() 函数返回的结果.

备注

如果 ValueType 为 REG_DWORD, 则 Value 应该介于 -2147483648 和 4294967295 (0xFFFFFFFF) 之间.

写入 REG_BINARY 键时, 请使用十六进制的字符串, 例如 REG_BINARY 值 01,a9,ff,77 在写入时要使用字符串 01A9FF77.

写入 REG_MULTI_SZ 键时, 您必须使用换行符 (`n) 分隔各个部分. 最后一个部分后面的换行符是可选的. 不允许存在空的部分. 换句话说, 在一行中不能连续指定两个换行符 (`n`n), 因为这样会导致写入到注册表的值比期望的短.

在 v1.1.10.01 或更高版本中支持大于 64K 的 REG_BINARY 和 REG_MULTI_SZ 值.在旧版本中,它们会被截断成 64K.

要获取和操作多个注册表键或值, 请考虑使用 注册表循环.

关于如何访问远程计算机注册表的详情, 请参阅 注册表循环 中的备注.

要在 32 位脚本中读写注册表 64 位部分的条目或进行相反的操作,请使用 SetRegView.

相关

RegDelete, RegRead, 注册表循环, SetRegView, IniWrite

示例

RegWrite, REG_SZ, HKEY_LOCAL_MACHINE, SOFTWARE\TestKey, MyValueName, Test Value
RegWrite, REG_BINARY, HKEY_CURRENT_USER, Software\TEST_APP, TEST_NAME, 01A9FF77
RegWrite, REG_MULTI_SZ, HKEY_CURRENT_USER, Software\TEST_APP, TEST_NAME, Line1`nLine2

; Alternative syntax (requires v1.1.21+):
RegWrite, REG_SZ, HKEY_LOCAL_MACHINE\SOFTWARE\TestKey, MyValueName, Test Value
RegWrite, REG_BINARY, HKEY_CURRENT_USER\Software\TEST_APP, TEST_NAME, 01A9FF77
RegWrite, REG_MULTI_SZ, HKEY_CURRENT_USER\Software\TEST_APP, TEST_NAME, Line1`nLine2