读书人

注册表编程的有关问题:类型为REG_DWO

发布时间: 2012-01-20 18:53:53 作者: rapoo

注册表编程的问题:类型为REG_DWORD的项读不出来
if(OpenKey=RegOpenKey(HKEY_LOCAL_MACHINE,_T("SYSTEM\\CurrentControlSet\\Services\\ACPI");,&hKey))!=ERROR_SUCCESS)
{
DWORD type1=REG_DWORD;
DWORD type2=REG_EXPAND_SZ;
DWORD Start;//用于装载类型为REG_DWORD的值
DWORD lpcbData;
unsigned char path[MAX_PATH];
DWORD pathlen=MAX_PATH;
RegQueryValueEx(tempKey,_T("Start"),NULL,&type1,NULL,&lpcbData);
QueryValue=RegQueryValueEx(tempKey,_T("Start"),NULL,&type1,(LPBYTE)&Start,&lpcbData);//查询Start的值
QueryValue=RegQueryValueEx(tempKey,_T("ImagePath"),NULL,&type2,path,&pathlen);//查询ImagePath的值CString p(path);
AfxMessageBox(p);//正确输出
CString data((LPBYTE)Start);//获得start的值
AfxMessageBox(data) //输出失败
}

最终ImagePath成功输出,说明对tempKey的查询是成功,但是输出的Start是错误的,刚接触注册表编程不知道如何读取类型为REG_DWORD的值


[解决办法]
解决了就好。涉及编程的问题,最好发到专门的编程版块,会得到很好的解答。

读书人网 >windows

热点推荐