C/C++枚举注册表某项下的所有子项【代码示例】
来源:互联网 发布:阿里云二手域名 编辑:程序博客网 时间:2024/06/08 11:27
使用Windows API 函数中的RegOpenKeyEx()函数和RegEnumKeyEx()函数来实现对注册表某项下的所有子项进行枚举。
1、RegOpenKeyEx 函数:
原形:LONG RegOpenKeyEx(
HKEY hKey, // 要打开主键名
LPCTSTR lpSubKey, // 需要打开的子键或路径
DWORD ulOptions, // 保留,为0
REGSAM samDesired, // 操作权限标志
PHKEY phkResult // 指向你打开键的句柄 (通过指针返回)
);
返回值:不成功返回非0,成功返回ERROR_SUCCESS.
解释:该函数负责打开指定的键或子键,如果不存在他不建立。
查看官方文档:http://msdn.microsoft.com/zh-cn/aa912084
2、RegEnumKeyEx函数:
原形:LONG RegEnumKeyEx(
HKEY hKey, // 要列举的键的句柄
DWORD dwIndex, // 欲获取的子项的索引。第一个子项的索引编号为零
LPTSTR lpName, // 子键的名称
LPDWORD lpcbName, // 子键名称的长度
LPDWORD lpReserved, // 保留
LPTSTR lpClass, // address of buffer for class string
LPDWORD lpcbClass, // address for size of class buffer
PFILETIME lpftLastWriteTime
// address for time key last written to
);
返回值:不成功返回非0,成功返回ERROR_SUCCESS
返回注册表键及其子键的详细信息。
查看官方文档:http://msdn.microsoft.com/zh-cn/library/ms724862.aspx
示例代码:
/** 版权:* 文件名称:RegEnumKey.c* 摘要:枚举注册表下的所有子项* 当前版本:* 作者:烈风* 完成日期:*/# include <stdio.h># include <Windows.h># include <tchar.h># include <locale.h>int main(void){_wsetlocale(LC_ALL, _T("")); //设置或检索本地运行环境,避免wprintf打印中文乱码HKEY hKey = NULL; //保存注册表的句柄 DWORD dwIndexs = 0; //需要返回子项的索引 TCHAR keyName[MAX_PATH] = { 0 }; //保存子键的名称 DWORD charLength = 256; //想要读取多少字节并返回实际读取到的字符长度TCHAR *subKey = _T("SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall");if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, subKey, 0, KEY_READ, &hKey) == ERROR_SUCCESS){ while (RegEnumKeyEx(hKey, dwIndexs, keyName, &charLength, NULL, NULL, NULL, NULL) == ERROR_SUCCESS){wprintf(_T("%d : %s\n"), dwIndexs, keyName);++dwIndexs;charLength = 256;}}if (hKey != NULL){RegCloseKey(hKey);}system("pause");return 0;}
- C/C++枚举注册表某项下的所有子项【代码示例】
- C/C++枚举注册表某项下的所有键值【代码示例】
- C/C++新建注册表项【代码示例】
- C、C++注册表常用操作(创建枚举子项等)
- InstallScript中枚举注册表某键下的子键值Sample代码
- C/C++读写注册表中二进制数据【代码示例】
- c#的委托代码示例
- c#的委托代码示例
- 删除注册表项及其所有子项的方法
- [C++] 如何枚举所有打印机
- 【C语言】【枚举所有可能】
- 枚举注册表子键
- 寻找ftp地址下所有文件的代码,包括子文件夹(c#)
- 遍历注册表某键下的所有子键
- 获取注册表某键下的所有子键
- 遍历注册表某键下的所有子键
- 注册表的操作(C#)
- c语言所有的errno枚举值含义
- 线性表实验相关程序代码
- 基于PageRank的社交网络用户影响力
- sDBVGfhfdh
- “黑暗潜伏者” -- 手机病毒新型攻击方式
- C的union的应用
- C/C++枚举注册表某项下的所有子项【代码示例】
- 系统测试
- 在线框架引用|bootstrap|jq|jqmobile|CSS框架
- Android应用程序中获取view的位置
- Photoshop脚本 > 使用ExtendScript编写Ps脚本
- ThreadLocal小记
- Android 4.4 沉浸式透明状态栏与导航栏
- 找不到python33_d.lib的链接错误
- 变换编码