我拼凑了一个小工具,就是根据判断鼠标键盘的为操作时间长度以及CPU的使用率,来执行自动关机操作。
我将timer1的触发时间设置为1秒,并在触发是判断系统是否IDLE了足够长时间,且此时的CPU使用率是否满足要求,一旦满足就执行关机,并写日志,伪代码如下:
public timer1_tick()
{
if(IDLE > 规定时间 && cpuload < 1)
{
调用CMD,执行关机命令;//执行后系统会弹出一个倒计时30秒关机的窗口
//有个倒计时是为了让用户可以有时间取消关机操作
writelog();
}
}
把writelog()放到if里面会出现一个情况,就是在倒计时30秒这个过程中每秒都会写一条关机日志,我想了个办法就是把触发时间改成30秒。我想问的是还有没有其他什么比较好的办法可以实现每秒触发,又不会每秒都写日志?
我将timer1的触发时间设置为1秒,并在触发是判断系统是否IDLE了足够长时间,且此时的CPU使用率是否满足要求,一旦满足就执行关机,并写日志,伪代码如下:
public timer1_tick()
{
if(IDLE > 规定时间 && cpuload < 1)
{
调用CMD,执行关机命令;//执行后系统会弹出一个倒计时30秒关机的窗口
//有个倒计时是为了让用户可以有时间取消关机操作
writelog();
}
}
把writelog()放到if里面会出现一个情况,就是在倒计时30秒这个过程中每秒都会写一条关机日志,我想了个办法就是把触发时间改成30秒。我想问的是还有没有其他什么比较好的办法可以实现每秒触发,又不会每秒都写日志?
解决方案 »
- WinForm控件DataGridView问题 如何获取某个LinkColumn的单击事件
- 当心int型运算逻辑错误
- 一个 复杂的问题, 望各位 高手前来指教
- vc 2005 中怎么让编辑窗口左边显示行标
- 如何读取较大xml文件?
- 为什么我原来对access数据库中的一个表select,insert,update,delete都很顺利,可是当我把表的字段修改了,就不行了?
- DataGrid问题,谢谢
- C#:如何取得一个工程的程序集版本号,注意不是文件版本号
- 200分求教﹗急用啊~~~~
- 高手帮我看下这段代码?为什么老是提示说至少有一个参数没有被制定值!
- winform动态生成textbox控件,如何取得值,在线等,谢谢。
- C# 取Windows XP 用户名??
然后用个List《string》 保存log
上千条 写一次
每秒都写 会很慢的
这样可以减少写文件的次数