VC遍历注册表
来源:互联网 发布:抗氧化面膜 知乎 编辑:程序博客网 时间:2024/06/06 04:28
最近在学习windows api编程,做些笔记,虽然有些东西不是很懂,但还是学会用吧,用多了就会熟的
使用到的函数
1、RegOpenKeyEx
2、RegQueryKeyInfo3、RegEnumKeyEx
4、RegEnumValue
源代码如下:
#include <windows.h>#include <stdio.h>int main(){HKEY hKey = NULL;if (!RegOpenKeyEx(HKEY_CURRENT_USER,"Software",0,KEY_READ | KEY_WRITE,&hKey) == ERROR_SUCCESS){printf("打开注册表失败!\n");return -1;}char szClassname[255];//类名DWORD dwClassnameLength;//装载类名缓冲区的长度 DWORD dwsubsum;//保存这个项的子项数量DWORD dwMaxSubKeyLen;//装载这个项最长一个子项的长度 DWORD dwMaxClassLen;//装载这个项之子项的最长一个类名的长度 DWORD dwValues;//用于装载这个项的设置值数量的一个变量DWORD dwMaxValueNameLen;//装载这个项之子项的最长一个值名的长度 DWORD dwMaxValueLen;//装载容下这个项最长一个值数据所需的缓冲区长度 DWORD dwSecurityDescriptor;//装载值安全描述符长度的一个变量 FILETIME strftLastWriteTime;//指定一个结构,用于容纳该项的上一次修改时间// 获取类名和数量DWORD dwret = RegQueryInfoKey(hKey, // 键的句柄szClassname, // 类名 &dwClassnameLength, // 类名长度 NULL, // 保留&dwsubsum, // 子键的数量&dwMaxSubKeyLen, // 子键长度&dwMaxClassLen, // 类长度&dwValues, // 子键键值数量&dwMaxValueNameLen, // 子键名长度&dwMaxValueLen, // 键值长度&dwSecurityDescriptor, // 安全描述符&strftLastWriteTime); // 最后写时间 char szKeyvalue[255];DWORD dwKeyvalueLen;// 列举子键 if (dwsubsum != 0){printf( "子键的数量为: %d\n", dwsubsum);for (int i=0; i<dwsubsum; i++) { memset(szKeyvalue,0,sizeof(szKeyvalue));dwKeyvalueLen = 255;dwret = RegEnumKeyEx(hKey, i,//欲获取的子项的索引。第一个子项的索引编号为零szKeyvalue,//用于装载指定索引处项名的一个缓冲区&dwKeyvalueLen, //装载szKeyvalue的实际长度NULL, NULL, NULL, &strftLastWriteTime); if (dwret == ERROR_SUCCESS) {printf("(%d)----- %s\n", i+1, szKeyvalue);}}} char szSubKeyvalue[255] = {0};DWORD dwSubKeyvalueLen;// 列举键值if (dwValues != 0) {printf( "子键键值数量为: %d\n", dwValues);for (int i=0, dwret=ERROR_SUCCESS; i<dwValues; i++) {memset(szSubKeyvalue,0,sizeof(szSubKeyvalue));dwSubKeyvalueLen = 255;dwret = RegEnumValue(hKey, i, //注意第一个值的索引编号为零szSubKeyvalue, &dwSubKeyvalueLen, NULL, NULL,NULL,NULL);if (dwret == ERROR_SUCCESS ) { printf("(%d)----- %s\n", i+1, szSubKeyvalue); } }}return 0;}
更多博客文章,欢迎访问:http://blog.csdn.net/llj42270012
转载注明出处
- VC遍历注册表
- 注册表遍历
- 注册表遍历
- 遍历注册表
- C#遍历注册表项
- VB 遍历注册表代码。
- 遍历删除注册表
- delphi 遍历注册表
- 用vc读写注册表
- VC操作注册表
- VC读写注册表
- vc下读写注册表
- VC++中读写注册表
- VC读写注册表
- VC操作注册表
- VC 注册表函数
- VC 注册表操作(转载)
- VC++中读写注册表
- linux路由表详解
- poj 3264 Balanced Lineup[线段树,,水]
- svn使用注意的小细节
- SSH 无密码验证登陆
- Oracle之SQLPlus简单应用
- VC遍历注册表
- 使用commons-compress操作zip文件(压缩和解压缩)
- Ubuntu12.04如何禁用触摸板
- mpeg与h26x的比较
- xcode an unknown error occurred.see the install log for more details
- SecureCRT上传下载文件教程(Zmodem使用教程)
- FusionCharts报表
- 如何解决工作中的技术问题?
- 数据库 数据仓库