axwxxww 发表于 2024-9-3 09:45:11

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, ))




**** Hidden Message *****

我爱你苏根 发表于 2024-9-6 03:54:04

谢谢楼主,对了新人问下,这个也要15字吗

pei002 发表于 2024-9-8 22:02:57

不错!顶LZ

毛泽东 发表于 2024-9-11 16:11:50

顶一个了

pei002 发表于 2024-9-14 10:20:43

我表示压力很大

w115182772 发表于 2024-9-17 04:29:35

碉堡了!

封偌丶 发表于 2024-9-19 03:14:30

感谢分享LOL

封偌丶 发表于 2024-9-21 01:59:25

好东西,一定要进行学习

张庆伟23 发表于 2024-9-23 00:44:20

非常不错,感谢分享!

小白 发表于 2024-9-24 23:29:15

看帖子的要发表下看法
页: [1] 2
查看完整版本: 64位注册表操作模块源码_夜猫改模块源码分享