//读取注册表
void CRegistryView::OnButton1()
{
// TODO: Add your control notification handler code here
HKEY hKEY;
LPCTSTR path="Software//Microsoft//MS Setup (ACME)//User Info";
long ret=::RegOpenKeyEx(HKEY_CURRENT_USER,path, 0, KEY_READ,&hKEY);
if(ret!=ERROR_SUCCESS) //如果无法打开hKEY,则终止程序的执行
{
MessageBox("错误: 查询无法打开有关的hKEY!");
return;
}
unsigned char tmp[256]="/0";
DWORD type=REG_SZ;
DWORD size=80;
ret=::RegQueryValueEx(hKEY,"DefName", NULL,&type,tmp,&size);
if(ret!=ERROR_SUCCESS)
{
MessageBox("错误:无法查询有关注册表信息!");
return;
}
CString tmpstring=CString(tmp);
AfxMessageBox(tmpstring);
::RegCloseKey(hKEY);
}
//写入注册表
void CRegistryView::OnButton2()
{
// TODO: Add your control notification handler code here
unsigned char tmp[256];
sprintf((char *)tmp,"%s","hello");
CString tmpstring=tmp;
HKEY hKEY;
DWORD type=REG_SZ;
DWORD size=tmpstring.GetLength()+1;
LPCTSTR path="Software//Microsoft//MS Setup (ACME)//User Info" ;
long ret=::RegOpenKeyEx(HKEY_CURRENT_USER,path,0,KEY_WRITE, &hKEY);
if(ret!=ERROR_SUCCESS)
{
MessageBox("错误: 修改无法打开有关的hKEY!");
return;
}
ret=::RegSetValueEx(hKEY,"DefName",NULL,type,tmp,size);
if(ret!=ERROR_SUCCESS)
{
MessageBox("错误: 无法修改有关注册表信息!");
return;
}
::RegCloseKey(hKEY);
}