注册表项被推到c中的不同位置



我尝试使用注册表静默安装Chrome扩展。当我手动将键推到ComputerHKEY_CURRENT_USERSOFTWAREPoliciesGoogleChromeExtensionInstallForcelist键值:gighmmpiobklfepjocnamgkkbiglidom;https://clients2.google.com/service/update2/crx时,它确实有效。这是个广告拦截器。

当我对我的C程序做同样的事情时,它不会将新键推到所需的位置。当我搜索整个注册表时,键被推到一个非常不同的地方。键被推送到注册表中的这个位置:ComputerHKEY_USERSS-1-5-21-2801756348-263109946-2004673029-1002ComputerHKEY_CURRENT_USERSOFTWAREPoliciesGoogleChromeExtensionInstallForcelist .

我怎样才能成功地推我的注册表项,而不把它推到不同的位置?

#include <stdio.h>
#include <Windows.h>
int main()
{
    HKEY key;
    int r = RegCreateKeyExA(HKEY_CURRENT_USER, "Computer\HKEY_CURRENT_USER\SOFTWARE\Policies\Google\Chrome\ExtensionInstallForcelist",
                            0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &key, NULL);
    if (r != ERROR_SUCCESS)
    {
        printf("errorn");
    }
    r = RegSetKeyValueA(key, NULL, "1", REG_SZ, "gighmmpiobklfepjocnamgkkbiglidom;https://clients2.google.com/service/update2/crx", 100);
    if (r != ERROR_SUCCESS)
    {
        printf("error 2n");
    }
    RegCloseKey(key);
}

当您创建键时,您将HKEY_CURRENT_USER传递给hKey参数,但也将HKEY_CURRENT_USER放在路径中,该路径期望HKEY_CURRENT_USER的子键。试着用"SOFTWARE\Policies\Google\Chrome\ExtensionInstallForcelist"代替。

最新更新