函数参考


RegRead

读取注册表指定的值.

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)