Vista读写注册表

来源:互联网 发布:淘宝种子授权门槛 编辑:程序博客网 时间:2024/05/21 17:15
众所周知,现在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下这个子键值都可以创建成功。