觅风论坛

标题: 64位注册表操作模块源码_夜猫改模块源码分享 [打印本页]

作者: axwxxww    时间: 2024-9-3 09:45
标题: 64位注册表操作模块源码_夜猫改模块源码分享

我主要是修改了一些小问题,增加了添加修改注册表项的默认值功能以及删除注册项失败等,同时增加了完整的使用说明和例子,方便大家使用。

使用方法有完整测试说明!

.版本 2
.支持库 spec

' 完整测试
' 是否64位系统
局_系统64位 = 系统_是否64位 ()
' 删除SOFTWARE\test注册表项
调试输出 (“项SOFTWARE\test是否存在:”, 注册表_注册项或值是否存在 (4, “SOFTWARE\test”, 局_系统64位, 1, ))
调试输出 (“删除项SOFTWARE\test结果:”, 注册表_删除注册项值 (4, “SOFTWARE\test”, 局_系统64位, ))
调试输出 (“项SOFTWARE\test是否存在:”, 注册表_注册项或值是否存在 (4, “SOFTWARE\test”, 局_系统64位, 1, ))
调试输出 (“--------------------------”)
' 判断项SOFTWARE\test\regkey是否存在
调试输出 (“项SOFTWARE\test\regkey是否存在:”, 注册表_注册项或值是否存在 (4, “SOFTWARE\test\regkey”, 局_系统64位, 1, ))
' 在SOFTWARE\test\下添加项“regkey”,并且设置默认值为空
调试输出 (“添加项SOFTWARE\test\regkey,并且设置默认值为空,结果:”, 注册表_写注册项 (4, “SOFTWARE\test\regkey\”, , , , 局_系统64位))
' 判断项SOFTWARE\test\regkey是否存在
调试输出 (“项SOFTWARE\test\regkey是否存在:”, 注册表_注册项或值是否存在 (4, “SOFTWARE\test\regkey”, 局_系统64位, 1, ))
调试输出 (“--------------------------”)
' 判断项SOFTWARE\test\regkey1是否存在
调试输出 (“项SOFTWARE\test\regkey1是否存在:”, 注册表_注册项或值是否存在 (4, “SOFTWARE\test\regkey1”, 局_系统64位, 1, ))
' 在SOFTWARE\test\下添加项“regkey1”,并且设置默认值为“defstr”
调试输出 (“添加项SOFTWARE\test\regkey1,并且设置默认值为defstr,结果:”, 注册表_写注册项 (4, “SOFTWARE\test\regkey1\”, 到字节集 (“defstr”), , , 局_系统64位))
' 判断项SOFTWARE\test\regkey1是否存在
调试输出 (“项SOFTWARE\test\regkey1是否存在:”, 注册表_注册项或值是否存在 (4, “SOFTWARE\test\regkey1”, 局_系统64位, 1, ))
调试输出 (“--------------------------”)
' 读取项SOFTWARE\test\regkey和项SOFTWARE\test\regkey1的默认值
调试输出 (“项SOFTWARE\test\regkey的默认值:”, 到文本 (注册表_取字节集注册项 (4, “SOFTWARE\test\regkey\”, 局_系统64位)))
调试输出 (“项SOFTWARE\test\regkey1的默认值:”, 到文本 (注册表_取字节集注册项 (4, “SOFTWARE\test\regkey1\”, 局_系统64位)))
调试输出 (“--------------------------”)
' 判断SOFTWARE\test\下的值regkey是否存在
调试输出 (“值SOFTWARE\test\regkey是否存在:”, 注册表_注册项或值是否存在 (4, “SOFTWARE\test\regkey”, 局_系统64位, 2, ))
' 在SOFTWARE\test\下添加值“regkey”,值类型为REG_SZ,并且值数据为空
调试输出 (“添加值SOFTWARE\test\regkey,值类型为REG_SZ,并且设置默认值为空,结果:”, 注册表_写注册项 (4, “SOFTWARE\test\regkey”, , , , 局_系统64位))
' 判断SOFTWARE\test\下的值regkey是否存在
调试输出 (“值SOFTWARE\test\regkey是否存在:”, 注册表_注册项或值是否存在 (4, “SOFTWARE\test\regkey”, 局_系统64位, 2, ))
' 读取值SOFTWARE\test\regkey的数据,值类型为REG_SZ
调试输出 (“值SOFTWARE\test\regkey的数据为:”, 注册表_取文本注册项 (4, “SOFTWARE\test\regkey”, 局_系统64位))

调试输出 (“--------------------------”)
' 判断SOFTWARE\test\下的值regkey1是否存在
调试输出 (“值SOFTWARE\test\regkey1是否存在:”, 注册表_注册项或值是否存在 (4, “SOFTWARE\test\regkey1”, 局_系统64位, 2, ))
' 在SOFTWARE\test\下添加值“regkey1”,值类型为REG_SZ,并且值数据为“defstr”
调试输出 (“添加值SOFTWARE\test\regkey1,值类型为REG_SZ,并且设置值数据为defstr,结果:”, 注册表_写注册项 (4, “SOFTWARE\test\regkey1”, 到字节集 (“defstr”), , , 局_系统64位))
' 判断SOFTWARE\test\下的值regkey1是否存在
调试输出 (“值SOFTWARE\test\regkey1是否存在:”, 注册表_注册项或值是否存在 (4, “SOFTWARE\test\regkey1”, 局_系统64位, 2, ))
' 读取值SOFTWARE\test\regkey1的数据,值类型为REG_SZ
调试输出 (“值SOFTWARE\test\regkey1的数据为:”, 注册表_取文本注册项 (4, “SOFTWARE\test\regkey1”, 局_系统64位))
调试输出 (“--------------------------”)

' 判断SOFTWARE\test\下的值regkey2是否存在
调试输出 (“值SOFTWARE\test\regkey2是否存在:”, 注册表_注册项或值是否存在 (4, “SOFTWARE\test\regkey2”, 局_系统64位, 2, ))
' 在SOFTWARE\test\下添加值“regkey2”,值类型为REG_DWORD,并且值数据为十进制123
调试输出 (“添加值SOFTWARE\test\regkey2,值类型为REG_DWORD,并且设置值数据为十进制123,结果:”, 注册表_写注册项 (4, “SOFTWARE\test\regkey2”, 到字节集 (123), #REG_DWORD, 真, 局_系统64位))
' 判断SOFTWARE\test\下的值regkey2是否存在
调试输出 (“值SOFTWARE\test\regkey2是否存在:”, 注册表_注册项或值是否存在 (4, “SOFTWARE\test\regkey2”, 局_系统64位, 2, ))
' 读取值SOFTWARE\test\regkey2的数据,值类型为REG_DWORD
调试输出 (“值SOFTWARE\test\regkey2的数据为:”, 注册表_取数值注册项 (4, “SOFTWARE\test\regkey2”, 局_系统64位))
调试输出 (“--------------------------”)

' 判断SOFTWARE\test\下的值regkey3是否存在
调试输出 (“值SOFTWARE\test\regkey3是否存在:”, 注册表_注册项或值是否存在 (4, “SOFTWARE\test\regkey3”, 局_系统64位, 2, ))
' 在SOFTWARE\test\下添加值“regkey3”,值类型为REG_BINARY,并且值数据为“00010203”
调试输出 (“添加值SOFTWARE\test\regkey3,值类型为REG_BINARY,并且设置值数据为-010203,结果:”, 注册表_写注册项 (4, “SOFTWARE\test\regkey3”, 到字节集 (反转整数字节序 (十六进制 (“00010203”))), #REG_BINARY, 真, 局_系统64位))
' 判断SOFTWARE\test\下的值regkey3是否存在
调试输出 (“值SOFTWARE\test\regkey3是否存在:”, 注册表_注册项或值是否存在 (4, “SOFTWARE\test\regkey3”, 局_系统64位, 2, ))
' 读取值SOFTWARE\test\regkey3的数据,值类型为REG_BINARY
调试输出 (“值SOFTWARE\test\regkey3的数据为:”, 到十六进制字节集_汇编 (注册表_取字节集注册项 (4, “SOFTWARE\test\regkey3”, 局_系统64位)))
调试输出 (“--------------------------”)
' 枚举SOFTWARE\test下的项
局_项总数 = 注册表_枚举注册项 (4, “SOFTWARE\test”, 局_项数组, 局_系统64位)
.计次循环首 (局_项总数, i)
    调试输出 (i, “SOFTWARE\test下的项名:”, 局_项数组 )
.计次循环尾 ()
调试输出 (“--------------------------”)
' 枚举SOFTWARE\test下的值(不含默认值)
局_项总数 = 注册表_枚举注册值 (4, “SOFTWARE\test”, 局_键值结构数组, 局_系统64位)
.计次循环首 (局_项总数, i)
    调试输出 (i, “SOFTWARE\test下的键名:”, 局_键值结构数组 .键名, “键类型:”, 格式输出键值类型 (局_键值结构数组 .键类型), “值:”, 键值字节集转文本 (局_键值结构数组 .键类型, 局_键值结构数组 .键值, 局_键值结构数组 .键长度))
.计次循环尾 ()
调试输出 (“测试完毕--------------------------”)
调试输出 (“删除项SOFTWARE\test结果:”, 注册表_删除注册项值 (4, “SOFTWARE\test”, 局_系统64位, ))
调试输出 (“项SOFTWARE\test是否存在:”, 注册表_注册项或值是否存在 (4, “SOFTWARE\test”, 局_系统64位, 1, ))

QQ截图20240903094545.jpg



作者: 我爱你苏根    时间: 2024-9-6 03:54
谢谢楼主,对了新人问下,这个也要15字吗
作者: pei002    时间: 2024-9-8 22:02
不错!顶LZ
作者: 毛泽东    时间: 2024-9-11 16:11
顶一个了
作者: pei002    时间: 6 天前
我表示压力很大
作者: w115182772    时间: 3 天前
碉堡了!




欢迎光临 觅风论坛 (https://www.eyyba.com/) Powered by Discuz! X3.4