|
发表于 2016-7-24 15:49:45
|
显示全部楼层
广东省东莞市
- .版本 2
- .子程序 枚举键信息Ex, 整数型, 公开, 枚举指定项名称下的键信息(成功返回键名数,失败返回-1),需要先调用打开键Ex或打开键Ex2
- .参数 键根目录, 整数型, , #HKEY_*开头的常量
- .参数 全路径注册项名, 文本型, , 完整的键路径,不包括"HKEY_*" 例如:SOFTWARE\Test
- .参数 注册表键信息, 注册表_键, 参考 数组, 作为返回值返回
- .局部变量 局_计次, 整数型
- .局部变量 局_键值缓冲区, 整数型
- .局部变量 局_句柄
- .局部变量 临时_注册表键信息, 注册表_键
- .如果真 (m_当前键目录 ≠ 键根目录 或 m_当前键 ≠ 全路径注册项名)
- 局_句柄 = 打开键Ex (键根目录, 全路径注册项名)
- .如果真 (局_句柄 = -1)
- 返回 (m_Error)
- .如果真结束
- 清除数组 (注册表键信息)
- .如果真结束
- 临时_注册表键信息.键名称 = 取空白文本 (256)
- .判断循环首 (局_句柄 ≠ 0)
- API_RegEnumValue (m_键句柄, 局_计次, 临时_注册表键信息.键名称, 256, 0, 临时_注册表键信息.类型, 临时_注册表键信息.键值, 局_键值缓冲区)
- 临时_注册表键信息.键值 = 取空白字节集 (局_键值缓冲区)
- m_Error = API_RegEnumValue (m_键句柄, 局_计次, 临时_注册表键信息.键名称, 256, 0, 临时_注册表键信息.类型, 临时_注册表键信息.键值, 局_键值缓冲区)
- .如果 (m_Error = 0)
- 加入成员 (注册表键信息, 临时_注册表键信息)
- .否则
- 跳出循环 ()
- .如果结束
- 局_计次 = 局_计次 + 1
- .判断循环尾 ()
- .如果真 (m_Error = #ERROR_NO_MORE_ITEMS)
- m_Error = 0
- .如果真结束
- 返回 (取数组成员数 (注册表键信息))
复制代码 |
|