精易论坛

标题: 精易模块 写入键值Ex_文本 加{0} bug [打印本页]

作者: yujiekuxiao    时间: 2023-2-27 00:10
标题: 精易模块 写入键值Ex_文本 加{0} bug
  
子程序名返回值类型公开备 注
写入键值Ex_文本整数型 成功返回0,失败返回错误码;注意,该函数只能写入文本型的值
参数名类 型参考可空数组备 注
键根目录整数型#HKEY_*开头的常量
全路径注册项名文本型完整的键路径,不包括"HKEY_*" 例如:SOFTWARE\Test
键名称文本型键的名称
欲写入值字节集使用 到字节集()
写入类型整数型只适用于:REG_SZ;REG_EXPAND_SZ;REG_MULTI_SZ;#REG_BINARY
是否自动创建逻辑型如果不存在的话,是否创建该键
变量名类 型静态数组备 注
bRet整数型 
如果真 (写入类型 ≠ #REG_SZ 写入类型 ≠ #REG_EXPAND_SZ 写入类型 ≠ #REG_MULTI_SZ 写入类型 ≠ #REG_BINARY )
输出调试文本 (“写入的类型不正确,如果需要写入数值型,请调用【写入键值Ex_数值】”)
返回 (-1)
如果真 (是否自动创建)
m_当前键 = “1”
如果真 (m_当前键目录 ≠ 键根目录 m_当前键 ≠ 全路径注册项名)
判断 (是否自动创建)
bRet = 创建并打开键Ex (键根目录, 全路径注册项名)  ' 自动创建这个键
bRet = 打开键Ex (键根目录, 全路径注册项名)

如果真 (bRet = -1)
返回 (m_Error)


欲写入值 = 欲写入值 + { 0 }
m_Error = RegSetValueExA (m_键句柄, 键名称, 0, 写入类型, 欲写入值, 取字节集长度 (欲写入值))
返回 (m_Error)


上面的代码:欲写入值 = 欲写入值 + { 0 }
只适用于文本
如果类型是
#REG_MULTI_SZ 和 #REG_BINARY  是不适用的,跟预想的写入不一样!



作者: yujiekuxiao    时间: 2023-2-27 00:18
修正过后的代码如下:

  
子程序名返回值类型公开备 注
写入键值Ex_文本整数型 成功返回0,失败返回错误码;注意,该函数只能写入文本型的值
参数名类 型参考可空数组备 注
键根目录整数型#HKEY_*开头的常量
全路径注册项名文本型完整的键路径,不包括"HKEY_*" 例如:SOFTWARE\Test
键名称文本型键的名称
欲写入值字节集使用 到字节集()
写入类型整数型只适用于:REG_SZ;REG_EXPAND_SZ;REG_MULTI_SZ;#REG_BINARY
是否自动创建逻辑型如果不存在的话,是否创建该键
变量名类 型静态数组备 注
bRet整数型 
如果真 (写入类型 ≠ #REG_SZ 写入类型 ≠ #REG_EXPAND_SZ 写入类型 ≠ #REG_MULTI_SZ 写入类型 ≠ #REG_BINARY )
输出调试文本 (“写入的类型不正确,如果需要写入数值型,请调用【写入键值Ex_数值】”)
返回 (-1)
如果真 (是否自动创建)
m_当前键 = “1”
如果真 (m_当前键目录 ≠ 键根目录 m_当前键 ≠ 全路径注册项名)
判断 (是否自动创建)
bRet = 创建并打开键Ex (键根目录, 全路径注册项名)  ' 自动创建这个键
bRet = 打开键Ex (键根目录, 全路径注册项名)

如果真 (bRet = -1)
返回 (m_Error)


如果真 (写入类型 = #REG_SZ 写入类型 = #REG_EXPAND_SZ )
欲写入值 = 欲写入值 + { 0 }

m_Error = RegSetValueExA (m_键句柄, 键名称, 0, 写入类型, 欲写入值, 取字节集长度 (欲写入值))
返回 (m_Error)


作者: 郭家三少    时间: 2023-3-7 14:48
这个必须支持~




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4