我拼凑了一个小工具,就是根据判断鼠标键盘的为操作时间长度以及CPU的使用率,来执行自动关机操作。
我将timer1的触发时间设置为1秒,并在触发是判断系统是否IDLE了足够长时间,且此时的CPU使用率是否满足要求,一旦满足就执行关机,并写日志,伪代码如下:
public timer1_tick()
{
   if(IDLE > 规定时间 && cpuload < 1)
     {
         调用CMD,执行关机命令;//执行后系统会弹出一个倒计时30秒关机的窗口
                                //有个倒计时是为了让用户可以有时间取消关机操作
         writelog();
     }
}
把writelog()放到if里面会出现一个情况,就是在倒计时30秒这个过程中每秒都会写一条关机日志,我想了个办法就是把触发时间改成30秒。我想问的是还有没有其他什么比较好的办法可以实现每秒触发,又不会每秒都写日志?