Vista读写注册表

众所周知,现在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下这个子键值都可以创建成功。

你可能感兴趣的:(Vista读写注册表)