aardio 文档

win.reg 库模块帮助文档

win 成员列表

win.reg()

返回对象:winRegObject

win.reg(path)

打开或创建注册表路径,
@path 参数指定注册表路径。

此函数还有其他可选参数,一般不必指定

win.reg(path,true)

仅打开已存在的注册表路径,
@path 参数指定注册表路径。

此函数还有其他可选参数,一般不必指定

win.regReader("HKEY_CURRENT_USER")

仅仅以只读模式打开存在的注册表路径,如果不存在返回null
此函数显式指定只读权限速度较快

win.regReader()

返回对象:winRegObject

win.regReaderWow64("HKEY_LOCAL_MACHINE")

在64位系统中访问64位注册表,
32位系统作用与 win.regReader 相同,
仅仅以只读模式打开存在的注册表路径,如果不存在返回nulll
此函数显式指定只读权限速度较快

win.regReaderWow64()

返回对象:winRegObject

win.regWow32("HKEY_LOCAL_MACHINE")

打开已存在或创建新的注册表路径,
在64位系统中访问32位注册表,
32位系统下作用与 win.reg 相同

win.regWow32("HKEY_LOCAL_MACHINE",true)

仅仅打开存在的注册表路径,
在64位系统中访问32位注册表,
32位系统下作用与 win.reg 相同,
如果不存在返回null

win.regWow32()

返回对象:winRegObject

win.regWow64("HKEY_LOCAL_MACHINE")

打开已存在或创建新的注册表路径,
在64位系统中访问64位注册表,
32位系统下作用与 win.reg 相同

win.regWow64("HKEY_LOCAL_MACHINE",true)

仅仅打开存在的注册表路径,
在64位系统中访问64位注册表,
32位系统下作用与 win.reg 相同,
如果不存在返回null

win.regWow64()

返回对象:winRegObject

win.reg 成员列表

注册表操作

打开或创建注册表路径

win.reg.overrideClasses(runas,proc)

win.reg.overrideClasses(false,  
    function(){  
        /*重定向HKEY_CLASSES_ROOT到HKEY_CURRENT_USER\Software\Classes*/  
    }  
)

win.reg.overridePredefinedKey("根键","重定向键",回调函数)

win.reg.overridePredefinedKey("HKEY_CLASSES_ROOT","HKEY_CURRENT_USER\Software\Classes",  
    function(){  
        /*注册表已成功重定向*/  
    }  
);

win.reg.query

直接读取注册表路径的指定值

win.reg.query(path,valueName)

返回 @path 参数指定的注册表路径下
@valueName 指定名字的值,失败返回 null

win.reg.queryWow64

直接读取注册表路径的指定值,
在64位系统访问64位注册表,兼容 32 位系统

win.reg.queryWow64(path,valueName)

返回 @path 参数指定的注册表路径下
@valueName 指定名字的值,失败返回 null
在64位系统访问64位注册表,兼容 32 位系统

winRegObject 成员列表

winRegObject.close()

关闭注册表对象

winRegObject.delKey("字符串参数")

删除不包含子项的键

winRegObject.delKeyTree("字符串参数")

删除包含子项的键,
请慎用以避免删除重要的注册表键

winRegObject.delValue("字符串参数")

删除值,
参数 @1 指定值名称(null 或 空串表示默认值)。

winRegObject.eachKey

for(name,writeTime in reg.eachKey() ){
    var subKey = reg.open(name); 
    /*name 为子键名,  
writeTime 为 ::FILETIME 结构体,  
可用 fsys.time 解析*/
    subKey.close()
}

winRegObject.eachValue

for(name,value,t in reg.eachValue()) {

}

winRegObject.enumKey

winRegObject.enumKey(  

    function(  
        subKey, /*这是某个子节点(win.reg对象)*/  
        keyname/*这是reg子节点的一个子项的名字*/  
    ){    
        if( subKey.delKey(keyname)  )  
            io.print("删除" + keyname + "成功")   
    }    
)

winRegObject.keys()

获取所有子键的键名

winRegObject.load("/backup")

从文件导入到注册表

winRegObject.open("字符串参数")

打开已存在或创建新的子路径,
返回新的win.reg对象,

winRegObject.open("字符串参数",true)

仅仅打开已存在的子路径,
返回新的win.reg对象,
如果不存在返回null

winRegObject.open()

返回对象:winRegObject

winRegObject.path

注册表路径

winRegObject.queryTable(names,...)

遍历当前注册表项的所有子项,
获取 @names 指定名称的所有值,
@names 可以是名称数组,也可以是多个字符串参数,
返回值是表,表的键为子项名称,值为包含各子项名值对的表,
如果子项第一个值名称对应的值为 null 则忽略该项,
失败返回 null

winRegObject.queryValue("字符串参数")

查询值,
参数 @1 指定值名称(null 或 空串表示默认值)。
成功返回值1为查询到的数据值,返回值2为一个表示值类型的数值,
自动识别类型:
REG_SZ,REG_EXPAND_SZ 类型返回字符串,
REG_EXPAND_SZ 字符串可用 string.expand 函数展开,
REG_MULTE_SZ 类型返回字符串数组,
REG_BINARY类型返回buffer对象,REG_DWORD类型返回数值,
REG_QWORD类型返回math.size64对象表示的64位无符号长整数,
REG_DWORD,REG_DWORD_BIG_ENDIAN类型返回数值

winRegObject.queryValueTable

返回表,包含当前键的指定名值对

winRegObject.queryValueTable()

返回表,包含当前键的所有名值对

winRegObject.queryValueTable(default)

参数 @default 指定默认值
在参数 @1 中填入当前键的所有名值对
返回参数 @1

winRegObject.queryValueTable(names,...)

返回表,包含当前键的指定名值对
@names 参数可以是一个要查询的值名称数组,
也可以是用于指定查询值名称的一个或多个字符串参数,
第一个值名称指定的值为 null 则返回 null,

winRegObject.renameKey("字符串参数")

重命名当前打开的键
参数只要写新的键名就可以,不要在参数中写包含反斜杠的注册表路径

winRegObject.save("/backup")

导出注册表到文件

winRegObject.setBinValue(name,vlaue)

设置二进制值,
参数 @1 指定值名称(null 或 空串表示默认值),
参数 @2 指定要存储的值

winRegObject.setDwValue(name,vlaue)

设置32位数值,
参数 @1 指定值名称(null 或 空串表示默认值),
参数 @2 指定要存储的值

winRegObject.setDwValueBigEndian(name,vlaue)

设置大端序 32 位数值,
参数 @1 指定值名称(null 或 空串表示默认值),
参数 @2 指定要存储的值

winRegObject.setExpandValue(name,vlaue)

设置含环境变量的字符串值,
参数 @1 指定值名称(null 或 空串表示默认值),
参数 @2 指定要存储的值

winRegObject.setMultiSzValue(name,vlaue)

设置复合字符串值,
参数 @1 指定值名称(null 或 空串表示默认值),
参数 @2 可用字符串数组指定要存储的值,
也可以用多个参数传递多个字符串值

winRegObject.setQwValue(name,vlaue)

设置64位数值,
参数 @1 指定值名称(null 或 空串表示默认值),
参数 @2 支持 math.size64 对象表示的 64 位长整数或普通数值

winRegObject.setSzValue(name,vlaue)

设置字符串值,
参数 @1 指定值名称(null 或 空串表示默认值),
参数 @2 指定要存储的值

winRegObject.setValue(name,vlaue)

设置注册表值,自动设置类型,
参数 @1 指定值名称(null 或 空串表示默认值),
参数 @2 指定要存储的值

自动完成常量

_REG_BINARY=3
_REG_CREATED_NEW_KEY=1
_REG_DWORD=4
_REG_DWORD_BIG_ENDIAN=5
_REG_DWORD_LITTLE_ENDIAN=4
_REG_EXPAND_SZ=2
_REG_FULL_RESOURCE_DESCRIPTOR=9
_REG_LINK=6
_REG_MULTI_SZ=7
_REG_NONE=0
_REG_NOTIFY_CHANGE_ATTRIBUTES=2
_REG_NOTIFY_CHANGE_LAST_SET=4
_REG_NOTIFY_CHANGE_NAME=1
_REG_NOTIFY_CHANGE_SECURITY=8
_REG_OPENED_EXISTING_KEY=2
_REG_OPTION_BACKUP_RESTORE=4
_REG_OPTION_CREATE_LINK=2
_REG_OPTION_NON_VOLATILE=0
_REG_OPTION_RESERVED=0
_REG_OPTION_VOLATILE=1
_REG_QWORD=0xB
_REG_REFRESH_HIVE=2
_REG_RESOURCE_LIST=8
_REG_RESOURCE_REQUIREMENTS_LIST=0xA
_REG_SZ=1
_REG_WHOLE_HIVE_VOLATILE=1

Markdown 格式