#include<Windows.h>
#include<stdio.h>
#include<iostream>
using namespace std;
int keyvalue(char* a)//获取键值函数
{
if(a[0]=='\0')
{
cout<<"input error"<<endl;
return -1;
}
HKEY hKey; //注册表句柄
DWORD dwtype;
DWORD sl=256;
char sz[256]; //存储键值
char s[256]; //存储完整路径
sprintf(s,"%s%s%s","SOFTWARE\\Classes\\CLSID\\{",a,"}\\Version");
LONG lResult=RegOpenKey(HKEY_LOCAL_MACHINE,s,&hKey); //打开给定键
if (lResult !=ERROR_SUCCESS)
{
cout<<"open error"<<endl;
return -1;
}
lResult=RegQueryValueEx(hKey,"",NULL,&dwtype,(LPBYTE)sz,&sl); //查询键值
if(lResult != ERROR_SUCCESS)
{
cout<<"query error"<<endl;
return -1;
}
printf("%s\n",sz);//输出键值,键值为字符串类型
RegCloseKey(hKey);//释放指定注册键的句柄
return 1;
}
void main()
{
char name[128]="3BFA35AF-81F4-4CDC-B7B8-532C0E61C522";
keyvalue(name);
getchar();//本句只为防止DOS命令窗口关闭
}
读取注册表键值
最新推荐文章于 2021-04-24 17:20:19 发布