类似QQ电脑空闲5分钟后自动更改状态的实现

今天复习了windows线程的调度,优先级等相关内容。以为将一个进程和它的线程都设为优先级最低,那么该进程将在电脑空闲的时候才会运行。我突然联系到有的程序比方说腾讯QQ或者屏保程序是不是将要调用的线程设为优先级最低,等到电脑空闲或空闲一段时间(具体时间程序当然可以调)才开始调用呢?然后我写程序验证了一下,发现任何时候该线程都会执行,哪怕是CPU到达了100%。为什么会这样呢?仔细看书得知,当今计算机运算速度非常快,哪怕鼠标键盘一直动个不停,计算机CPU还是会有很多空闲时间,这个空闲时间足以运行那些低优先级的线程。还有哪怕是其他程序写个死循环,CPU到达了100%,低优先级程序仍然有机会获得CPU,因为当系统检测到某线程饥饿了很久时(也就是没有得到CPU时间片段),系统会自动提升它的优先级来获得CPU时间片段。所以要想到达电脑空闲时间才会执行某个任务,以上的方法是行不通的!

那么应该怎么做呢?经过在CSDN上努力搜索,终于找到一种解决方案。

windows提供一个API函数GetLastInputInfo(PLASTINPUTINFO plii)可以得到电脑最后输入事件的时间,该时间的意思是系统开机到那个时间流逝的毫米数。如果想在电脑空闲5分钟后执行某个任务将很好实现:

<span style="white-space:pre">			</span>LASTINPUTINFO lp ;
			lp.cbSize = sizeof(lp) ;
			GetLastInputInfo(&lp) ;
			DWORD dwTick = GetTickCount() ;  //获取当前的时间
			if(dwTick - lp.dwTime > 5 * 60 * 1000){
				...//do something ;
			}

但是我总感觉这种方法太过于简单,因为代码才那么几行,一点都高深,呵呵。腾讯QQ是不是也通过这种方式呢?还是有更高级的方法?望大牛们指教,不胜感激!

类似QQ电脑空闲5分钟后自动更改状态的实现,布布扣,bubuko.com

时间: 2024-10-22 16:31:40

类似QQ电脑空闲5分钟后自动更改状态的实现的相关文章

Win7系统出现提示: “Windows已遇到关键问题,将在一分钟后自动重新启动。”

若用户在使用Win7系统时,遇到上述系统故障,建议重启电脑.等电脑开机自检一过,马上按键盘上的F8键,选择进入安全模式.在安全模式下,进行系统还原.其他的解决方法见下. 1.或者,在安全模式下,检查系统日志→按Win+R键或点击屏幕左下角"开始">运行>输入:EventVwr.msc(也可以打开>控制面板>管理工具>事件查看器)>打开后.分别点击"自定义视图>管理事件"和"Windows日志"及"

所有浏览器打开后自动打开115.29.163.152/404.html这个网页,然后自动跳转到hao123 解决办法

这几天,电脑所有浏览器打开后自动打开115.29.163.152/404.html这个网页,然后自动跳转到hao123这个网页,网上查询没解决办法.开始自己找,搜索注册表,都无效,最后下载软件HijackThis(HijackThis是一款英文免费软件,由荷兰的一名学生merijn开发.提供其利用业余时间开发的软件供大家下载.HijackThis能够扫描注册表和硬盘上的特定文件,找到一些恶意程序“劫持”浏览器的入口.但要提醒大家注意的是,这些内容也可能正由正常的程序在使用,所以不能草率处理,必须

Socket编程,简单的类似qq聊天,可以两台电脑互通

原文:Socket编程,简单的类似qq聊天,可以两台电脑互通 源代码下载地址:http://www.zuidaima.com/share/1550463676648448.htm Socket编程,简单的类似qq聊天,可以两台电脑互通,刚学习网络编程的可以看下 源码截图:

无法开机 如果您的手机黑屏无法开机,可以按照以下方式操作尝试: 如果是,使用原装充电器或使用弱电流方式充电(例如使用电脑USB接口充电)充电15-30分钟后尝试重新开机;注意:电量过低引起的无法开机,刚插入充电器时可能不亮屏但呼吸灯闪烁状态。

https://www.mi.com/service/support/startup 无法开机 如果您的手机黑屏无法开机,可以按照以下方式操作尝试: 技术支持 如何刷机 无法开机 手机自动关机.重启 无法充电/充电时间过长 无法解锁 手机耗电 屏幕失灵 刷机常见问题 BL锁解锁失败必看 如何备份手机数据 联系客服 无法开机 如果您的手机黑屏无法开机,可以按照以下方式操作尝试: (注:若是长时间卡在白色米字界面且屏幕底部无Android显示,长按电源键10秒重启无效的,建议您前往小米授权维修中心或

C#实现类似QQ的隐藏浮动窗体、消息闪动

功能简介 当语音客服系统登录成功进入主界面时,本聊天工具将会自动隐藏在左下角位置,当鼠标移动到左下角时,自动弹出,当鼠标移开聊天窗体时,自动隐藏.如果想让聊天窗体固定在桌面,只要拖动一下聊天窗口,让它不停留在边界位置就可以了.隐藏和悬浮方式类型QQ. 1. 系统主界面 当点击最小化按钮时, 在电脑右下角会显示任务图标,点击任务图标,将会在左下角位置弹出. 主界面各部分介绍: a) 消息列表:该区域的功能主要是显示消息记录. b) 发送消息:输入要发送的消息进行发送,默认群聊,输入消息后,按回车键

QQ 电脑管家强制乱删除电脑6000多个系统文件!!

公司电脑,本人一般也不开启杀毒软件,虽然也安装了360,只是偶尔打开清理一下. 因2个月前的局域网ARP攻击,当时下载了qq绑定一下网关的物理地址,一直留着. 今天由于要测试一些软件,进行了几次安装和卸载,QQ 电脑管家弹出要强力清理残留文件,所以点了一下. 一分钟后,发现还在清理,有点久,直接把它关闭吧,结果卡住了! 没在意,继续操作,卡就卡吧,不影响其他软件 当时打开office word文档,关了之后,再打开,发现打开不了了! 还以为刚刚在上传rar文件到word里面引起的!就找offic

检测日志文件的md5值如果N分钟后无变化则重启应用

计划任务添加如下: 每隔10分钟检测一次 */10 * * * * /bin/bash /data/scripts/check_md5sum.sh  /data/log/policy-root-new-4/policy-root-new-4.$(date +%Y-%m-%d).log    300   policy-root-new-4   policy-root-new-4  '/data/www/apps/policy-root-new-4/bin/boxrun'  restart chec

使用plupload做一个类似qq邮箱附件上传的效果

公司项目中使用的框架是springmvc+hibernate+spring,目前需要做一个类似qq邮箱附件上传的功能,暂时只是上传小类型的附件 处理过程和解决方案都需要添加附件,处理过程和解决方案都可以添加多个附件,也可一个都不添加 以其中一个为例:(文件保存到了数据库中),有关plupload的内容可参考:http://www.360doc.com/content/14/0714/03/552866_394228686.shtml 首先是po package cn.com.plupload.p

【学神-RHEL7】1-3-Linux基本命令和配置服务器来电后自动开机

本节所讲内容: Linux终端介绍 Shell提示符 Bash Shell基本语法 基本命令的使用:ls.pwd.cd 查看系统和BIOS硬件时间 Linux如何获得帮助 Linux关机命令:shutdow.init等 Linux 7个启动级别 创建一个方便快捷实验环境快照 设置服务器在来电后自动开机 Linux终端介绍 tty控制台终端   pts虚拟终端 tty1-tty6   如是一开始进入的是图形图面:tty1  就是图形界面. 图形界面切换到字符界面终端: Ctrl+(Shift)+A