我有读取REG_DWORD的函数,但无法读取RED_SZ任何想法如何修复
string read_reg(char rpath[],char rdata[]) // read registery Loaction
{
// string sMHz;
char buffer[MAX]; // for storing read value from registery will be return
char Buffer[MAX];
DWORD BufSize = _MAX_PATH;
DWORD dwMHz = _MAX_PATH;
HKEY hKey;
// open the key where the processor speed is hidden:
long lError = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
rpath,
0,
KEY_READ,
&hKey);
if(lError != ERROR_SUCCESS)
{// if the key is not found, tell the user why:
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
lError,
0,
Buffer,
_MAX_PATH,
0);
return "N/A";
}
cout<<"\n program ok";
// query the key:
RegQueryValueEx(hKey,rdata,NULL,NULL,(LPBYTE) &dwMHz,&BufSize);
// convert the DWORD to a string:
cout<<"\n value of dwMHz "<<dwMHz;
wsprintf(buffer, "%d", dwMHz);
RegCloseKey(hKey); // close open handle ....
return buffer;
}
我得到cpu速度但是当我通过REG SZ数据类型....它无法工作