C# 判断系统空闲(键盘、鼠标不操作一段时间)方法二

        之前有一篇文章写道了c#判断系统空闲的方法,后面发现函数Environment.TickCount在连续运行会跳转为一个负数。详见函数讲解https://msdn.microsoft.com/zh-cn/library/system.environment.tickcount(v=vs.110).aspx

        现使用方法如下:1、建立新类UserOptionCheckBFMessage 

 public class UserOptionCheckBFMessage : IMessageFilter, IUserOptionCheckBFMessage
    {
       public bool PreFilterMessage(ref Message m)
       {
           //检测鼠标或者键盘的消息
           if (m.Msg == 0x0200 || m.Msg == 0x0201 || m.Msg == 0x0204 || m.Msg == 0x0207)
           {
               AppGlobal.nUserOptionsCount = 0;
           }
           return false;
       }
    }

       2、需要监听的主窗体load中添加

                UserOptionCheckBFMessage msg=new UserOptionCheckBFMessage();

                Application.AddMessageFilter(msg);  

   3、在主窗体构造函数中添加监视线程,其中RegiserLockFlag为监视标志࿰

你可能感兴趣的:(c#开发)