C# - 更改注册表设置不起作用

时间:2016-02-25 15:51:27

标签: c# windows registry http-accept-language

我试图改变操作系统的语言偏好。 事实上,当我进入控制面板时,我会看到我的变化。

然而,它并没有真正改变一些东西。 只有当我手动移动并在控制面板中更改它时,它才会更改它。

这些设置会影响标题" Accept-Language"在HTTP请求中。 我希望所有网站都能以程序方式将我视为美国人。 所以,我试图手动更改它:控制面板 - >时钟语言和区域 - >语言,然后我把"英语"在它的顶部。它会改变它,但是当我以编程方式执行它时,它不会通知Windows。

        RegistryKey key = Registry.CurrentUser.OpenSubKey(@"ControlPanel\International\User Profile", true);
        string[] lang = { "fr", "en-US" };
        key.SetValue("Languages", lang, RegistryValueKind.MultiString);

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

应用设置后,用户必须注销并登录才能应用更改。

这是我改变操作系统语言的代码:

var registryKey = Registry.CurrentUser.OpenSubKey(@"Control Panel\Desktop", true);
var language = {"en-US"};
registryKey .SetValue("PreferredUILanguagesPending", language, RegistryValueKind.MultiString);

希望这有帮助!