VC6.0编写的,代码如下,问题是:我想读取dword的值,但是返回就是个空值,这是什么原因?读取sz的值却是正确的。
//打开与路径 data_Set相关的hKEY
LPCTSTR data_Set="software\\21VC\\第12章\\";
//访问注册表,hKEY则保存此函数所打开的键的句柄
long ret0=(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_Set,0,KEY_READ,&hKEY));
if(ret0!=ERROR_SUCCESS)//如果无法打开hKEY,则中止程序的执行
{
AfxMessageBox("错误:无法打开有关的hKEY");
return;
}
//查询有关的数据
LPBYTE owner_Get=new BYTE[80];//定义用户姓名 owner_Get
DWORD type_1=REG_DWORD;//定义数据类型
DWORD cbData_1=80;//定义数据长度
long ret1=::RegQueryValueEx(hKEY,"ww",NULL,&type_1,owner_Get,&cbData_1);
if(ret1!=ERROR_SUCCESS)
{
AfxMessageBox("错误:无法查询有关的注册表信息");
return;
}
//显示信息
m_strOwner=CString(owner_Get);
delete[] owner_Get;
//程序结束,关闭打开的hKEY
::RegCloseKey(hKEY);
UpdateData(false);
}
用vc6编写RegQueryValueEx读dword的值
答案:2 悬赏:70 手机版
解决时间 2021-03-07 09:16
- 提问者网友:人傍凄凉立暮秋
- 2021-03-07 04:43
最佳答案
- 五星知识达人网友:雪起风沙痕
- 2021-03-07 05:50
你要查询的是REG_DWORD,定义为BYTE肯定不行的
DWORD owner_Get;
::RegQueryValueEx(hKEY,"ww",NULL,&type_1,(LPBYTE)&owner_Get,&cbData_1);
这样就OK了
DWORD owner_Get;
::RegQueryValueEx(hKEY,"ww",NULL,&type_1,(LPBYTE)&owner_Get,&cbData_1);
这样就OK了
全部回答
- 1楼网友:零点过十分
- 2021-03-07 07:10
期待看到有用的回答!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯