VC读取注册表,如何转换LPBYTE 为CString?
如下代码:
HKEY hKEY;
CString data_Set( "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\" );
long ret0=(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,(LPCTSTR)data_Set, 0, KEY_READ, &hKEY));
if(ret0!=ERROR_SUCCESS)
{
MessageBox(_T("error"),_T(""),0);
}
LPBYTE owner_Get=new BYTE[80];
DWORD type_1=REG_SZ ; DWORD cbData_1=80;
CString str1("CommonFilesDir");
long ret1=::RegQueryValueEx(hKEY, (LPCTSTR)str1, NULL,&type_1, owner_Get, &cbData_1);
if(ret1!=ERROR_SUCCESS)
{
MessageBox(_T("error2"),_T(""),0);
}
LPBYTE company_Get=new BYTE [80];
DWORD type_2=REG_SZ; DWORD cbData_2=80;
CString str2("SM_GamesName");
long ret2=::RegQueryValueEx(hKEY, (LPCTSTR)str2, NULL,&type_2,company_Get, &cbData_2);
if(ret2!=ERROR_SUCCESS)
{
MessageBox(_T("error3"),_T(""),0);
}
CString str_owner(owner_Get);
CString str_company(company_Get);
delete[] owner_Get; delete[] company_Get;
::RegCloseKey(hKEY);
MessageBox((LPCTSTR)str_owner,(LPCTSTR)str_company,0);
str_owner,str_company只得到了第一个字母,并没有后面的字符串,不知道怎么
搞得?
如何把LPBYTE转为CString 呢?
谢谢!