函数参考


RegWrite

创建一个主键,子键或值项.

RegWrite ( "键名" [,"值项" [, "类型" [, 数据]]] )

参数

键名 要写入的注册表键.若其它参数未指定则只创建该键.
值项 [可选参数] 要写入的值名.
类型 [可选参数] 目标值项的数据类型,比如:"REG_SZ","REG_MULTI_SZ","REG_EXPAND_SZ","REG_DWORD" , "REG_QWORD" 或 "REG_BINARY".
数据 [可选参数] 数值数据.

返回值

成功: 返回值为 1.
失败: 返回值为 0,写入注册表键或者值发生错误.
@error 将设为以下值之一
1 如果不能打开被请求的键
2 如果不能打开被请求的主键
3 如果不能远程连接到注册表
-1 如果不能打开被请求的值
-2 如果值的类型是不支持的

注意/说明

键名必须以以下几种根键开头(也可用括号内的缩写):"HKEY_LOCAL_MACHINE" ("HKLM"),"HKEY_USERS" ("HKU"),"HKEY_CURRENT_USER" ("HKCU"),"HKEY_CLASSES_ROOT" ("HKCR") 或 "HKEY_CURRENT_CONFIG" ("HKCC").

当运行于 64-位 Windows 操作系统,如果您想删除一个键或者值,在64位环境下面比较特殊.您必须添加HK的后缀64,如:HKLM64.

目前 AutoIt 支持的数据类型包括 REG_BINARY,REG_SZ,REG_MULTI_SZ,REG_EXPAND_SZ , REG_QWORD, 以及 REG_DWORD.

如果要访问(默认)值项只需传递一个""(空字符串)到值项参数中即可.

若要写入的目标值项的数据类型是 REG_MULTI_SZ 则应该使用 @LF 分割各个字符串项目,该值项 不能 以 @LF 结尾,也允许写入"空项目"(请看下面的示例).

如果要访问网络注册表则参数格式应该是"\\计算机名\键名".此功能要求您必须拥有相应的访问权限(2000/XP/2003)

相关

RegDelete, RegRead, RegEnumKey, RegEnumVal

示例/演示


; Write a single REG_SZ value
RegWrite("HKEY_CURRENT_USER\Software\Test", "TestKey", "REG_SZ", "Hello this is a test")

; Write the REG_MULTI_SZ value of "line1" and "line2"
RegWrite("HKEY_CURRENT_USER\Software\Test", "TestKey1", "REG_MULTI_SZ", "line1" & @LF & "line2")

; Write the REG_MULTI_SZ value of "line1"
RegWrite("HKEY_CURRENT_USER\Software\Test", "TestKey2", "REG_MULTI_SZ", "line1")

; always add and extra null string
RegWrite("HKEY_CURRENT_USER\Software\Test", "TestKey3", "REG_MULTI_SZ", "line1" & @LF & "line2" & @LF)
RegWrite("HKEY_CURRENT_USER\Software\Test", "TestKey4", "REG_MULTI_SZ", "line1" & @LF & @LF & "line2" & @LF)

; empty REG_MULTI_SZ
RegWrite("HKEY_CURRENT_USER\Software\Test", "TestKey5", "REG_MULTI_SZ", "")

; create just the key
RegWrite("HKEY_CURRENT_USER\Software\Test1")