Hello,
Does any one know how to read/alter multiple registries pragmatically(VC++) with a single keyhandler.Now i am doing this in the following way[Keyhandle1 and keyhandle2 are declared globally)
HKEY Keyhandle1;
HKEY Keyhandle2;
void CReadRegistryDlg::OnRead()
{
char rgValue [1024]={'\0'};
DWORD size1=1024;
DWORD Type1;
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\VideoLAN\\VLC",0,KEY_ALL_ACCESS, &keyHandle1) == ERROR_SUCCESS)
{
UpdateData(true);
size1=1024;
if( RegQueryValueEx(keyHandle1,"Language",NULL,&Type1,(LPBYTE)rgValue,&size1) ==ERROR_SUCCESS)
{
SetDlgItemText(IDC_Disp1,"Language");
SetDlgItemText(IDC_FLD1, rgValue);
UpdateData(true);
}
else
{
SetDlgItemText(IDC_Disp1," Language KeyNotFound!");
}
}
else
{
SetDlgItemText(IDC_Disp1,"Couldn't access Language information!");
}
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\VMware, Inc.\\VMware Drivers",0,KEY_ALL_ACCESS, &keyHandle2) == ERROR_SUCCESS)
{
char rgValue1 [1024]={'\0'};
UpdateData(true);
size1=1024;
if( RegQueryValueEx(keyHandle2,"VmciHostDevInst",NULL,&Type1,(LPBYTE)rgValue,&size1)==ERROR_SUCCESS)
{
SetDlgItemText(IDC_Disp2,"VmciHostDevInst");
SetDlgItemText(IDC_FLD2, rgValue);
UpdateData(true);
}
else
{
SetDlgItemText(IDC_Disp2,"VmciHostDevInst KeyNotFound!");
}
}
else
{
SetDlgItemText(IDC_Disp2,"Couldn't access VmciHostDevInst information!");
}
void CReadRegistryDlg::OnSave()
{
UpdateData(true);
LPCSTR data1 = m_fld1; LPCSTR data2 = m_fld2; RegSetValueEx (keyHandle1, "Language", 0, REG_SZ, (LPBYTE)data1, (strlen(data1)));
RegSetValueEx (keyHandle2, "VmciHostDevInst", 0, REG_SZ, (LPBYTE)data2, (strlen(data2)));
RegCloseKey(keyHandle1);
RegCloseKey(keyHandle2);
}