msst1234 2015-03-23 10:38 采纳率: 41.7%
浏览 2255

C#调用Kernel32.dll下SetLocaleInfo接口,修改操作系统中的时间的问题

自己试用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);  
        }  
    }  
  • 写回答

4条回答 默认 最新

  • msst1234 2015-03-23 10:40
    关注

    SetLocaleInfo(x, LOCALE_STIME, "HH:mm:ss"); //时间格式

    关键就是修改时间格式怎么做?
    还有一个问题,在修改系统日期格式的时候,在windows自己的日期设置中已经修改成功了,但是托盘对应的时间格式还是不修改,这是怎么回事?

    评论

报告相同问题?

悬赏问题

  • ¥15 luckysheet
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误