如何使用代码在控制面板中的区域和语言选项中更新/更改系统日期时间格式

本文关键字:更新 系统 格式 时间 日期 选项 语言 代码 何使用 控制面板 区域 | 更新日期: 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");
}

然后重新启动您的系统