如何使用代码在控制面板中的区域和语言选项中更新/更改系统日期时间格式
本文关键字:更新 系统 格式 时间 日期 选项 语言 代码 何使用 控制面板 区域 | 更新日期: 2023-09-27 17:56:52
我正在寻找.NET (C#)中的代码在控制面板的区域选项中更改系统日期/时间格式适用于 Windows XP。
要更改日期时间格式,请查看此 http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/263d73b2-8611-4398-9f09-9aa76bbf325e/
你基本上需要使用原生的 Win API 方法SetLocaleInfo
。
如果我理解正确,您希望以编程方式永久更改区域设置,而不仅仅是针对您当前的进程。
您需要的信息存储在注册表中。 对于密钥下的当前用户:
HKCU'Control Panel'International
新用户或没有配置文件的用户的默认值:
HKEY_USERS'.Default'Control Panel'International
可以通过编程方式更改注册表值,然后广播WM_SETTINGCHANGE消息,如此问题的响应中所述。
如果要临时更改区域设置,可以使用以下代码:
System.Globalization.CultureInfo oldCI = System.Threading.Thread.CurrentThread.CurrentCulture;
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
...
YOUR CODE
...
System.Threading.Thread.CurrentThread.CurrentCulture = oldCI;
要了解哪个区域设置最好,请检查:
文化资讯
更多关于系统全球化的阅读
public void changedatetimeformat()
{
RegistryKey regkey = Registry.CurrentUser.OpenSubKey(@"Control Panel'International", true);
regkey.SetValue("sShortDate", "dd/MM/yyyy");
regkey.SetValue("sLongDate", "dd/MM/yyyy");
}
然后重新启动您的系统