觅风论坛

标题: 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    时间: 2024-9-14 10:20
我表示压力很大
作者: w115182772    时间: 2024-9-17 04:29
碉堡了!
作者: 封偌丶    时间: 2024-9-19 03:14
感谢分享LOL
作者: 封偌丶    时间: 2024-9-21 01:59
好东西,一定要进行学习
作者: 张庆伟23    时间: 2024-9-23 00:44
非常不错,感谢分享!
作者: 小白    时间: 2024-9-24 23:29
看帖子的要发表下看法
作者: 小白    时间: 2024-9-26 22:14
抢楼了,前排第一次啊
作者: 我去前面探探路    时间: 2024-9-28 02:30
厉害,我挺你,嘻嘻嘻。
作者: 13778890079    时间: 2024-9-29 06:46
学习了!!!!
作者: 哦美国    时间: 2024-9-30 11:03
很给力。。。。很喜欢
作者: 我去前面探探路    时间: 2024-10-1 15:19
我表示压力很大
作者: 大蒜先生    时间: 2024-10-2 19:35
赞一个!




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