C# - изменение настроек реестра не работает
Я пытался изменить языковые настройки ОС. И действительно, когда я захожу в Панель управления, я вижу свои изменения.
Тем не менее, это ничего не меняет. Только когда я захожу вручную и меняю его в панели управления, он меняет его.
Эти настройки будут влиять на заголовок "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 ответ
После применения настроек пользователь должен выйти и войти, чтобы применить изменения.
Это мой код, меняющий язык ОС:
var registryKey = Registry.CurrentUser.OpenSubKey(@"Control Panel\Desktop", true);
var language = {"en-US"};
registryKey .SetValue("PreferredUILanguagesPending", language, RegistryValueKind.MultiString);
Надеюсь это поможет!