string CConvert::GetRegStr(string name,char* base)
//得到name的字串值s, result必须先初始化
{
#ifdef WIN32
HKEY hResult;
char result[256];
strcpy(result,"");
if(ERROR_SUCCESS!=RegOpenKey(HKEY_LOCAL_MACHINE,base,&hResult))
{
return "";
}
DWORD dwcount=255;
RegQueryValueEx(hResult,name.c_str(),0,0,(BYTE*)&result[0],&dwcount);
RegCloseKey(hResult);
return result;
#else
return "";//GetInitStr(name);
#endif
}
unsigned long CConvert::GetRegInt(string name,char* base)//得到name的长整型值
{
#ifdef WIN32
HKEY hResult;
int result=0;
if(ERROR_SUCCESS!=RegOpenKey(HKEY_LOCAL_MACHINE,base,&hResult))
{
return 0;
}
DWORD dwcount=sizeof(int);
RegQueryValueEx(hResult,name.c_str (),0,0,(BYTE*)&result,&dwcount);
RegCloseKey(hResult);
return result;
#else
return 0;//GetInitInt (name);
#endif
}
void CConvert::SetRegStr(string name,string result,char* base)
//设置name的字串值result
{
#ifdef WIN32
HKEY hResult;
if(ERROR_SUCCESS!=RegCreateKey(HKEY_LOCAL_MACHINE,base,&hResult))
return;
size_t dwcount=result.length ();
RegSetValueEx(hResult,name.c_str (),0,REG_SZ ,(BYTE*)result.c_str (),dwcount);
RegCloseKey(hResult);
#else
// SetInitStr(name,result);
#endif
}
void CConvert::SetRegInt(string name,unsigned long result,char* base)//设置name的长整型值
{
#ifdef WIN32
HKEY hResult;
if(ERROR_SUCCESS!=RegCreateKey(HKEY_LOCAL_MACHINE,base,&hResult))
return;
DWORD dwcount=sizeof(int);
RegSetValueEx(hResult,name.c_str (), 0,REG_DWORD ,(BYTE*)&result,dwcount);
RegCloseKey(hResult);
#else
// SetInitInt(name,result);
#endif
}
C++ 注册表读取函数
最新推荐文章于 2022-08-16 14:35:02 发布