自己试用locale_sshortdate修改成功了日期格式,时间格式却修改不了,实用的是locale_STIME和LOCALE_ITIME,,LOCALE_STIMEFORMAT,不知道是定义的值不对还是格式不对就是修改不了,希望大牛们帮下忙,
DllImport("kernel32.dll", EntryPoint = "GetSystemDefaultLCID")]
public static extern int GetSystemDefaultLCID();
[DllImport("kernel32.dll", EntryPoint = "SetLocaleInfoA")]
public static extern int SetLocaleInfo(int Locale, int LCType, string lpLCData);
public const int LOCALE_SLONGDATE = 0x20;
public const int LOCALE_SSHORTDATE = 0x1F;
public const int LOCALE_STIME = 0x1003;
public void SetDateTimeFormat()
{
try
{
int x = GetSystemDefaultLCID();
SetLocaleInfo(x, LOCALE_STIME, "HH:mm:ss"); //时间格式
SetLocaleInfo(x, LOCALE_SSHORTDATE, "yyyy-MM-dd"); //短日期格式
SetLocaleInfo(x, LOCALE_SLONGDATE, "yyyy-MM-dd"); //长日期格式
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
SetLocaleInfo(x, LOCALE_STIME, "HH:mm:ss"); //时间格式
关键就是修改时间格式怎么做?
还有一个问题,在修改系统日期格式的时候,在windows自己的日期设置中已经修改成功了,但是托盘对应的时间格式还是不修改,这是怎么回事?
注意要有足够的权限
http://blog.csdn.net/jzz870519/article/details/5803624
修改时间格式等,需要有Administrator权限,然后就是你的格式是否正确