函数参考
RegRead
读取注册表指定的值.
参数
键名 |
要读取的注册表的根键或其子键. |
值项 |
要读取的值项名. |
返回值
成功: |
返回指定值项的数据. @EXTENDED 设置类型为 $REG_... 值的类型,这些类型定义于 "Constants.au3" 包含文件. |
失败: |
返回空字符串 "",并把 @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_DWORD.
如果要访问 (默认)值项只需传递一个""(空字符串)到值项参数中即可.
若目标值项的数据类型是 REG_BINARY 则返回值将是一个十六进制的字符串.比如该值项的数据是 01,a9,ff,77 则返回的字符串将是"01A9FF77".
若目标值项的数据类型是 REG_MULTI_SZ 则多重字符串项目将被 @LF 分割,使用 StringSplit(..., @LF) 即可获得各个项目的内容.
如果要访问网络注册表则参数格式应该是"\\计算机名\键名".此功能要求您必须拥有相应的访问权限(2000/XP/2003)
相关
RegDelete, RegWrite, StringSplit
示例/演示
Local $var = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion", "ProgramFilesDir")
MsgBox(4096, "Program files are in:", $var)