众所周知,现在Vista对注册表还有系统路径都有了严格的权限限制,以前在XP下写的读写注册表的代码,在Vista下不能正常工作,很是郁闷!
举个例子:
HKEY hKeyLocal = NULL;
RegCreateKeyEx(HKEY_LOCAL_MACHINE,
_T("Software//Microsoft//Windows//CurrentVersion//Explorer//Browser Helper Objects"),
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_WRITE,
NULL,
&hKeyLocal,
NULL);
和简单地创建一个子键,但这段代码在Vista下是失败的。
我的解决办法如下:
HKEY hKeyLocal = NULL;
RegCreateKeyEx(HKEY_CURRENT_USER,
_T("Software//Microsoft//Windows//CurrentVersion//Explorer//Browser Helper Objects"),
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_WRITE,
NULL,
&hKeyLocal,
NULL);
只有这样Vista和XP下这个子键值都可以创建成功。
举个例子:
HKEY hKeyLocal = NULL;
RegCreateKeyEx(HKEY_LOCAL_MACHINE,
_T("Software//Microsoft//Windows//CurrentVersion//Explorer//Browser Helper Objects"),
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_WRITE,
NULL,
&hKeyLocal,
NULL);
和简单地创建一个子键,但这段代码在Vista下是失败的。
我的解决办法如下:
HKEY hKeyLocal = NULL;
RegCreateKeyEx(HKEY_CURRENT_USER,
_T("Software//Microsoft//Windows//CurrentVersion//Explorer//Browser Helper Objects"),
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_WRITE,
NULL,
&hKeyLocal,
NULL);
只有这样Vista和XP下这个子键值都可以创建成功。