c++枚举和搜索注册表
来源:互联网 发布:网页电子书制作软件 编辑:程序博客网 时间:2024/06/05 00:11
原文链接:http://blog.csdn.net/earbao/article/details/8486593
#include <stdio.h>#include <windows.h>#define SUBKEYS 1//枚举注册表void EnumRegKey(){HKEY hKey=NULL,h=NULL;char str[MAX_PATH];DWORD num=sizeof(str),index=0,rc;#if SUBKEYSrc=::RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE",0,KEY_ALL_ACCESS,&hKey);#elserc=::RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion",0,KEY_ALL_ACCESS,&hKey);#endifif(rc==ERROR_SUCCESS){#if SUBKEYSwhile(RegEnumKeyEx(hKey,index,str,&num,NULL,NULL,NULL,NULL)==0)#elsewhile(RegEnumValue(hKey,index,str,&num,NULL,NULL,NULL,NULL)==0)#endif{printf("%s \n",str);index++;num=MAX_PATH;}printf("\n\nNumber of index =%d\n\n",index);}else{printf("Can't open the key !\n");}RegCloseKey(h);RegCloseKey(hKey);}#define MAINKEY HKEY_LOCAL_MACHINEint ResultCount=0;bool StealReg(char KeyValue[MAX_PATH],char Virus[MAX_PATH]){if(strcmp(KeyValue,Virus)==0){return true;}else{return false;}}//搜索注册表// 该函数唯一的参数是SubKey,比如"software\\Microsoft"void EnumReg(char SubKey[MAX_PATH]){char temp[MAX_PATH];HKEY hKey = NULL;char str[MAX_PATH];DWORD num = sizeof(str),index = 0,rc;rc = ::RegOpenKeyEx(MAINKEY,SubKey,0,KEY_ALL_ACCESS,&hKey);if(rc == ERROR_SUCCESS){while( RegEnumValue(hKey,index,str,&num,NULL,NULL,NULL,NULL)==0 ){//首先遍历值,进行处理printf("\t%s\n",str);if(StealReg(str,"E:\\Program Files\\Borland\\CBuilder6")){//上面第二个参数就是你要查找的值ResultCount++;}index++;num = MAX_PATH;}index = 0;while( RegEnumKeyEx(hKey,index,str,&num,NULL,NULL,NULL,NULL)==0 ){//然后遍历子项后进行递归printf("%s\n",str);strcpy(temp,SubKey);strcat(temp,"\\");strcat(temp,str);EnumReg(temp);//递归index++;num = MAX_PATH;}}else{printf("Can't Open The Key!\n");}RegCloseKey(hKey);}void main(){//EnumRegKey();EnumReg("software");printf("\n\n符合条件的值共有:%d 条!\n\n",ResultCount);}
0 0
- c++枚举和搜索注册表
- c++枚举和搜索注册表
- 分享一个注册表搜索函数(C++)
- 注册表搜索
- C/C++枚举注册表某项下的所有键值【代码示例】
- C、C++注册表常用操作(创建枚举子项等)
- 【c++】随机化和枚举
- 监视注册表,,枚举注册表项
- 枚举注册表Key 枚举注册表Value
- Qt通过注册表枚举串口(winXP和win7测试通过)
- 51nod 1607 卷积和(枚举搜索)
- 通过注册表枚举串口
- Win32注册表枚举
- 枚举注册表项
- 注册表枚举键值
- 枚举注册表子键
- 驱动枚举注册表项
- MFC注册表枚举串口
- IDEAL Ultimate 的SVN导入
- 根据Url 获取图片尺寸 iOS
- opencv 距离变换的GPU并行化计算
- 7.producer
- 集群的简单理解
- c++枚举和搜索注册表
- UICollectionViewLayout
- Android开发之解决APP启动白屏或者黑屏闪现的问题
- LeetCode----17. Letter Combinations of a Phone Number(遍历树+多重循环)
- java实现文件复制
- session防止表单重复提交
- Android launcher相关的一些知识
- ProgressDialog的使用
- 事件分发:弹性滑动、滑动冲突