很多的程序都要读写系统的注册表信息。本人刚写的小程序也有这样的需求,所以学习了一下。
大概就是几个API,如下:
RegCreateKeyEx
RegSetValueEx
RegOpenKey
RegOpenKeyEx
RegQueryValueEx
RegDeleteValue
RegCloseKey
测试的例子也写出来,以后用到的时候可以看,也请大家指正。
#include
#include
void WriteReg()
{
HKEY valueKeyW;
DWORD DePositionValue;
if (ERROR_SUCCESS==RegCreateKeyEx(HKEY_LOCAL_MACHINE,
"SOFTWARE//RegitTest",
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS,
NULL,
&valueKeyW,
&DePositionValue))
{
char lp[20];
memset(lp, 0x00, sizeof(lp));
cin>>lp;
if(RegSetValueEx(valueKeyW,"TestKey",0,REG_SZ,(BYTE*)lp,strlen(lp)) == ERROR_SUCCESS)
{
cout<
}
}
RegCloseKey(valueKeyW);
}
void ReadReg()
{
char UserValue[MAX_PATH];
DWORD UserValueLen;
DWORD type;
HKEY valueKey;
if(ERROR_SUCCESS!=RegOpenKey(HKEY_LOCAL_MACHINE,
"SOFTWARE//RegitTest",
&valueKey))
{
cout<
return;
}
else
cout<
if (ERROR_SUCCESS==RegQueryValueEx(valueKey,
"TestKey",
NULL,&type,
(unsigned char*)UserValue,&UserValueLen))
cout<
else
cout<
if (RegCloseKey(valueKey)==ERROR_SUCCESS)
cout<
else
cout<
}
void main()
{
int choice;
while(true)
{
cout<
cin>>choice;
switch (choice) { case 1: WriteReg(); break; case 2: ReadReg(); break; default: exit(0); } }}