求教VC++ 写的activeX控件,访问注册表的问题
先贴代码:
HKEY hKEY;
LPCWSTR data_Set=_T("SOFTWARE\");
long ret0=(::RegOpenKeyExW(HKEY_LOCAL_MACHINE,data_Set, 0, KEY_EXECUTE, &hKEY));
if(ret0!=ERROR_SUCCESS)
{
*result=ret0;
::RegCloseKey(hKEY);
return S_FALSE;
}
LPWSTR lpData=_T("");
DWORD type_1=REG_SZ;DWORD cbData_1=150;
LPCWSTR data_v=_T("path");
long ret1=::RegQueryValueExW(hKEY,data_v,NULL,&type_1,(LPBYTE)lpData,&cbData_1);
if(ret1!=ERROR_SUCCESS)
{
*result=ret1;
::RegCloseKey(hKEY);
return S_FALSE;
}
HINSTANCE hInstance=ShellExecute(NULL,_T("open"),_T("G98.exe"),NULL,lpData,SW_SHOWNORMAL);
*result=(long)hInstance;
::RegCloseKey(hKEY);
return S_OK;
问题1:
LPCWSTR data_Set=_T("SOFTWARE\");
可以取到,但是后面加上LPCWSTR data_Set=_T("SOFTWARE\\Lenovo\");就返回2,我确定下面的节点是有这个。
问题2:
RegQueryValueExW查询的时候,返回2
求教高手,这个是什么原因造成的?权限,路径,写法不对吗?应该怎么解决?
[解决办法]
可以去查一下2代表什么意思?