我现在在做一个winform程序,想在鼠标不动后的3分钟,窗体跳转到屏幕保护窗体,请问,如何判断鼠标是否移动过?谢谢!!

解决方案 »

  1.   

    楼上正解,
    实例化一个Point,
    赋值
    开个线程
    一个循环判断是否变了循环里Sleep(1000)
    1S*你要的时间次循环Point值还没改变,说明鼠标没动
    Excute你要的东西
    OK
      

  2.   

    不知道你监控你自己的程序,还是系统如果是自己的程序,直接在你的程序里截获消息循环如果你是指系统,那么请你hook系统的消息循环
      

  3.   


    //需要一点逻辑,大致就是这样
    Point oldP=new Point();
    Point p=new Point();new Thread(delegate()
    {
        int i=0;
        oldP=//
        while(true)
        {
            i++;
            if(i==1000&&oldP==p)
            {
                //....
                break;
            }        System.Threading.Thread.Sleep(1000);//1S
            p=Mouse.哪啥,你查下
             //
         }
    }).Start();