C# 设置CE系统的时间



        [StructLayout(LayoutKind.Sequential)]
        public struct SystemTime
        {
            public ushort wYear;
            public ushort wMonth;
            public ushort wDayOfWeek;
            public ushort wDay;
            public ushort wHour;
            public ushort wMinute;
            public ushort wSecond;
            public ushort wMiliseconds;
        }
        public class Win32
        {
            [DllImport("CoreDll.DLL")]
            public static extern bool SetSystemTime(ref SystemTime time);
            [DllImport("CoreDll.DLL")]
            public static extern bool SetLocalTime(ref SystemTime time);
            [DllImport("CoreDll.DLL")]
            public static extern void GetSystemTime(ref SystemTime time);
            [DllImport("CoreDll.DLL")]
            public static extern void GetLocalTime(ref SystemTime time); 
        }
        public static bool SetLocalTimeByStr(string timestr)
        {
            bool flag = false;
            SystemTime sysTime = new SystemTime();


            string SysTime = timestr.Trim();   
            sysTime.wYear = Convert.ToUInt16(SysTime.Substring(0, 4));
            sysTime.wMonth = Convert.ToUInt16(SysTime.Substring(4, 2));
            sysTime.wDay = Convert.ToUInt16(SysTime.Substring(6, 2));
            sysTime.wHour = Convert.ToUInt16(SysTime.Substring(8, 2));
            sysTime.wMinute = Convert.ToUInt16(SysTime.Substring(10, 2));
            sysTime.wSecond = Convert.ToUInt16(SysTime.Substring(12, 2));


            try
            {
                flag = Win32.SetLocalTime(ref sysTime);
            }
            catch (Exception ex1)
            {
                Console.WriteLine("SetLocalTime函数执行异常" + ex1.Message);
            }


            return flag;

        }

 private void pictureBox6_Click(object sender, EventArgs e)
        {
            string str = textBox1.Text + textBox2.Text + textBox3.Text + textBox4.Text + textBox5.Text + "00";
            SetLocalTimeByStr(str);
        }



写这段代码时网上其实有很多,都差不多,但调试的时候由于忽略了一个过程纠结了好长一段时间,调试时,时间是有范围限制的,并不是随意输入,我调试时就因为开始一直输入1111年而时间一直没有变化,一直还以为是代码的问题,呼呼……

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值