Poo*_*ven 5 c# localization datetimepicker
我希望能够从C#程序更改操作系统(Windows 7)的区域和语言设置.我并不反对执行命令行命令,但我只是发现了如何启动" 区域和语言"对话框:control /name Microsoft.RegionAndLanguage
这是一个语言本地化问题,其中Controls DateTimePicker只能使用Windows 区域和语言设置(有关详细信息,请参阅此处); 但是,更新操作系统以符合应用程序的语言设置不仅限于此,而且最终是期望的目标.
建议和/或解决方法将不胜感激.
我设法实现的唯一解决方案是修改注册表。在 Windows 7 中,当更改语言时,会在注册表子项中添加一个新条目:HKEY_CURRENT_USER\Control Panel\Desktop。PreferredUILanguagesPending该键将包含类型条目REG_MULTI_SZ,其值将确定 UI 语言。要应用更改,当前用户需要注销并再次登录。这可以使用以下代码来完成:
RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Control Panel\Desktop", true);
string[] lang = {"en-ZA"};
key.SetValue("PreferredUILanguagesPending", lang, RegistryValueKind.MultiString);
Run Code Online (Sandbox Code Playgroud)
需要先安装语言包才可以设置。有关语言包列表,请查看此处或此处。当安装了超过 1 个语言包时,更改 UI 语言的选项将出现在 中Control Panel > Region and Language > Keyboards and Languages > Display language。