|
发表于 2013-11-9 21:59:51
|
显示全部楼层
湖南省长沙市
- .版本 2
- .子程序 _打开项, 整数型
- .参数 项名称, 文本型
- .参数 是否创建, 逻辑型, 可空, 默认为假:打开 真:如果项不存在则创建项
- .局部变量 局_根句柄, 整数型
- .局部变量 局_项句柄, 整数型
- .局部变量 局_项文本, 文本型
- .局部变量 局_位置, 整数型
- .局部变量 b, 整数型
- 局_位置 = 寻找文本 (项名称, “\”, , 假)
- 局_项文本 = 取文本左边 (项名称, 局_位置 - 1)
- .判断开始 (局_项文本 = “HKEY_CLASSES_ROOT”)
- 局_根句柄 = 2147483648
- .判断 (局_项文本 = “HKEY_CURRENT_USER”)
- 局_根句柄 = 2147483649
- .判断 (局_项文本 = “HKEY_LOCAL_MACHINE”)
- 局_根句柄 = 2147483650
- .判断 (局_项文本 = “HKEY_USERS”)
- 局_根句柄 = 2147483651
- .默认
- 返回 (0)
- .判断结束
- .如果 (是否创建)
- b = RegCreateKeyA (局_根句柄, 取文本右边 (项名称, 取文本长度 (项名称) - 局_位置), 局_项句柄)
- .否则
- b = RegOpenKeyA (局_根句柄, 取文本右边 (项名称, 取文本长度 (项名称) - 局_位置), 局_项句柄)
- .如果结束
- .如果真 (b = 0)
- 返回 (局_项句柄)
- .如果真结束
- 返回 (0)
- .子程序 读注册表, 文本型, 公开, 成功返回“%USERPROFILE%\Local Settings\Temporary Internet Files”,否则返回空。
- .参数 全路径注册项名, 文本型, , “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders”
- .参数 键名称, 文本型, , “Cache”
- .局部变量 句柄, 整数型
- .局部变量 数据, 文本型
- .局部变量 长度, 整数型
- .局部变量 数据1, 整数型
- .局部变量 根句柄, 整数型
- .局部变量 类型, 整数型
- 根句柄 = _打开项 (全路径注册项名)
- .如果真 (根句柄 = 0)
- 返回 (“”)
- .如果真结束
- RegQueryValueExA (根句柄, 键名称, 0, 类型, 数据, 长度)
- 数据 = 取空白文本 (长度)
- .如果 (类型 = 4)
- RegQueryValueExA_ (根句柄, 键名称, 0, 类型, 数据1, 长度)
- RegQueryValueExA_ (根句柄, 键名称, 0, 类型, 数据1, 长度)
- 数据 = 到文本 (数据1)
- .否则
- RegQueryValueExA (根句柄, 键名称, 0, 类型, 数据, 长度)
- .如果结束
- RegCloseKey (根句柄)
- 返回 (数据)
- .子程序 写注册表, 逻辑型, 公开, 成功返回真,否则返回假。
- .参数 全路径注册项名, 文本型, , “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders”
- .参数 键名称, 文本型, , “Cache”
- .参数 欲写入值, 文本型, , “%USERPROFILE%\Local Settings\Temporary Internet Files”
- .参数 类型, 整数型, , 1、REG_SZ; 2、REG_EXPAND_SZ; 3、REG_BINARY; 4、REG_DWORD; 7、REG_MULTI_SZ
- .局部变量 根句柄, 整数型
- .局部变量 写入值, 整数型
- .局部变量 b, 整数型
- .局部变量 a, 字节集
- 根句柄 = _打开项 (全路径注册项名, 真)
- .如果真 (根句柄 = 0)
- 返回 (假)
- .如果真结束
- .如果 (类型 = 4)
- 写入值 = 到整数 (欲写入值)
- a = 到字节集 (写入值)
- b = RegSetValueExA_ (根句柄, 键名称, 0, 4, a, 取字节集长度 (a))
- .否则
- b = RegSetValueExA (根句柄, 键名称, 0, 类型, 欲写入值, 取文本长度 (欲写入值))
- .如果结束
- RegCloseKey (根句柄)
- 返回 (b = 0)
- .子程序 __启动窗口_创建完毕
- 输出调试文本 (读注册表 (“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion”, “InstallDate”))
- ' 1379244211
- 结束 ()
- .版本 2
- .DLL命令 RegCloseKey, 整数型, , "RegCloseKey", , 关闭注册项
- .参数 hkey, 整数型
- .DLL命令 RegQueryValueExA, 整数型, , "RegQueryValueExA", , 取注册表项
- .参数 hKey, 整数型
- .参数 lpValueName, 文本型
- .参数 lpReserved, 整数型
- .参数 lpType, 整数型, 传址
- .参数 lpData, 文本型, 传址
- .参数 lpcbData, 整数型, 传址
- .DLL命令 RegSetValueExA, 整数型, , "RegSetValueExA", , 写注册表项
- .参数 hKey, 整数型
- .参数 lpValueName, 文本型
- .参数 Reserved, 整数型
- .参数 dwType, 整数型
- .参数 lpData, 文本型, 传址
- .参数 cbData, 整数型
- .DLL命令 RegQueryValueExA_, 整数型, , "RegQueryValueExA", , 取注册表项
- .参数 hKey, 整数型
- .参数 lpValueName, 文本型
- .参数 lpReserved, 整数型
- .参数 lpType, 整数型, 传址
- .参数 lpData, 整数型, 传址
- .参数 lpcbData, 整数型, 传址
- .DLL命令 RegCreateKeyA, 整数型, , "RegCreateKeyA", , _注册表_创建项 advapi32.dll在指定的项下创建一个新项。如指定的项已经存在,那么函数会打开现有的项 零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
- .参数 hKey, 整数型, , 要打开项的句柄,或者一个标准项名
- .参数 lpSubKey, 文本型, , 欲创建的新子项。可同时创建多个项,只需用反斜杠将它们分隔开即可。例如level1\level2\newkey
- .参数 phkResult, 整数型, 传址, 指定一个变量,用于装载新子项的句柄;
- .DLL命令 RegSetValueExA_, 整数型, , "RegSetValueExA", , 写注册表项
- .参数 hKey, 整数型
- .参数 lpValueName, 文本型
- .参数 Reserved, 整数型
- .参数 dwType, 整数型
- .参数 lpData, 字节集, 传址
- .参数 cbData, 整数型
- .DLL命令 RegOpenKeyA, 整数型, "advapi32.dll", "RegOpenKeyA", , _注册表_打开项 打开一个现有的注册表项 零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
- .参数 hKey, 整数型, , 一个已打开项的句柄,或指定一个标准项名
- .参数 lpSubKey, 文本型, , 要打开的项名
- .参数 phkResult, 整数型, 传址, 指定一个变量,用于装载(保存)打开注册表项的一个句柄;
复制代码 本人的读写注册表模块源码 |
|