C# 窗体开发如何 监测系统时间更改并做提示警告?

解决方案 »

  1.   

    用API Hook应该可以,不过最简单的还是用定时器
      

  2.   

    做个windown服务,放到机器上,和外网比较或都做个计时器。
      

  3.   

    用定时器做。
    比如500ms一次。
    tTime=Date.now
    if ( math.abs( LastTime-tTime ) > 550 ) '定时器有一定误差,所以定值多加50ms
    { '时间变了 
    }
    LastTime=tTime
      

  4.   


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;namespace WindowsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }        public const int WM_TIMECHANGE = 30;
            protected override void WndProc(ref Message m)
            {
                if (m.Msg == WM_TIMECHANGE)
                {
                    MessageBox.Show("系统时间被更改了!!!");
                }
                base.WndProc(ref m);
            }
        }
    }我这个简单好用.