注册表,对于系统来说,重要性不用多说,我们能够通过修改里边的数据来达到某种目的。。。
对于它的处理,基本上也就是 增,删,改,查。。。
HKEY key = NULL;
LONG lResult = 0;
LPCSTR data_set = "SOFTWARE//Microsoft//Internet Explorer//Main";
int len = strlen(m_strIEAddress);
LPBYTE lpb = new BYTE[len];
for (int i = 0; i < len; i++)
{
lpb[i] = m_strIEAddress[i];
}
lResult = RegOpenKeyEx(HKEY_CURRENT_USER, data_set, 0, KEY_WRITE, &key);
if (ERROR_SUCCESS != lResult)
{
MessageBox("Openning register is error", "Error", MB_OKCANCEL);
goto Exit0;
}
lResult = RegSetValueEx(key, _T("Start Page"), 0, REG_SZ, lpb, len);
if (ERROR_SUCCESS != lResult)
{
MessageBox("Setting register is error", "Error", MB_OKCANCEL);
goto Exit0;
}
上边是对注册表中的某个项的操作,基本上都是,先要确定键的位置,
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_USER
- HKEY_LOCAL_MACHINE
- HKEY_USERS
也就是系统中默认的,然后在他们的子键中差找我们关心的数据,
当我们来到子键下的数据时,我们就可以对他们操作了,修改数据的值,或者添加,删除数据项,
得到我们需要的功能。。。
这样的过程有一种技巧,那就是,先判断我们查找的数据项是否存在,如果没有,我们就创建一个,然后在设置它的值,
这样我们就能保证我们的操作一定能成功。。。