[发明专利]应用程序紧急暂停系统及方法无效
申请号: | 200710201979.9 | 申请日: | 2007-10-09 |
公开(公告)号: | CN101408851A | 公开(公告)日: | 2009-04-15 |
发明(设计)人: | 常小军 | 申请(专利权)人: | 鸿富锦精密工业(深圳)有限公司;鸿海精密工业股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518109广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 紧急 暂停 系统 方法 | ||
技术领域
本发明涉及一种应用程序的紧急暂停系统及方法。
背景技术
计算机的操作系统是依靠本身的消息系统来处理用户触发的事件的。当用户按键或移动鼠标导致系统事件发生时,操作系统将这些事件存储在相应的应用程序消息队列中,事件会一直以消息的形式存储在消息队列中直到应用程序完成消息并将控制返回到操作系统,这时操作系统将把消息队列中的下一条消息发送到应用程序。当我们的程序非常繁忙时,操作系统始终在等待消息处理的结束,处理完成之前无法进行下一条消息的处理。这个时候,操作系统没有控制权,无法更新应用系统的界面,无论我们怎样操作鼠标及键盘,操作系统都无法响应我们的这些操作(即发送的信息),计算机就出现堵塞甚至于系统死机的的情况,甚至有时连任务管理器都无法调出来,只能通过漫长的等待,或者直接按下系统复位键重启计算机系统来解决。
因此有必要提供一种能够解决上述问题的系统及方法。
发明内容
鉴于以上内容,本发明提供一种应用程序紧急暂停方法,用于应用程序运行繁忙时暂停应用程序的运行。
该应用程序紧急暂停方法包括步骤:运行应用程序,同时进行该应用程序界面的定时重绘以响应用户操作;载入消息队列,定义暂停时的目标事件及该目标事件对应的执行动作,同时设定触发搜索消息队列事件的计时间隔;开始计时;操作系统截获用户操作所产生的指令信息;操作系统将截获的指令信息按先后顺序和优先级在消息队列中排队;在该应用程序运行过程中,操作系统依照消息队列中的顺序,依次将该消息队列中的事件发送给该应用程序执行;当没有到达计时间隔时,返回操作系统截获用户操作所产生的指令信息的步骤;当达到计时间隔时,触发搜索消息队列的事件;响应该触发事件,搜索消息队列,查找当前消息队列中是否存在目标事件;当消息队列中不存在目标事件时,返回操作系统截获用户操作所产生的指令信息的步骤;当消息队列中存在目标事件时,触发并执行该目标事件所对应的执行动作。
鉴于以上内容,本发明提供一种应用程序紧急暂停系统,用于应用程序运行繁忙时暂停应用程序的运行。
该应用程序紧急暂停系统包括:系统初始化模块,用于运行应用程序时载入消息队列,定义触发搜索消息队列的事件的计时间隔、定义该应用程序紧急暂停时的目标事件及该目标事件所对应的执行动作;计时器,用于计时及每到一个计时间隔就触发搜索消息队列的事件;搜索模块,用于当计时器触发了搜索消息队列的事件时,搜索当前消息队列,查找当前消息队列是否存在目标事件;执行模块,用于当消息队列中存在目标事件时,执行该目标事件对应的执行动作。
利用本发明所提供的应用程序紧急暂停系统及方法将传统的“操作系统发送消息→应用程序执行消息”的模式改变为“应用程序寻找消息→应用程序执行消息”,从而能够在操作系统无法向应用程序发送消息的时候,仍然能够快速响应用户的操作,避免操作系统的堵塞、死机或崩溃,减少了不必要的损失。
附图说明
图1为本发明应用程序紧急暂停系统较佳实施例的功能模块图。
图2为本发明应用程序紧急暂停方法的较佳实施例的流程图。
具体实施方式
参阅图1所示,是本发明应用程序紧急暂停系统较佳实施例的功能模块图。该应用程序紧急暂停系统1可运行在任一台计算机中监控应用程序的运行。
该应用程序紧急暂停系统1包括系统初始化模块10,计时器11,搜索模块12,及执行模块13。
该系统初始化模块11用于在计算机中任一应用程序运行时,载入消息队列,设定触发搜索消息队列的事件的计时间隔,并同时开始进行该应用程序界面的定时重绘以响应用户操作,从而开始对应用程序的运行及用户的操作进行监视。所述用户的操作比如按键,鼠标动作等。所述计时间隔如每间隔2秒,或每间隔5秒等。
该系统初始化模块10还用于定义目标事件,及该目标事件所对应的执行动作。通常该目标事件是一热键。亦即按下该热键时,操作系统就接收一个目标事件,将该目标事件在当前的消息队列中排队。该目标事件所对应的执行动作包括暂停该运行中的应用程序的执行或者执行其他指定的动作。例如,定义在程序繁忙时,按Esc键暂停该应用程序的处理动作或者执行其他指定的动作,该所定义的目标事件见下面的代码:
msg.message==WM_KEYDOWN 按键事件
msg.wParam==VK_ESCAPE 按键为Esc
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于鸿富锦精密工业(深圳)有限公司;鸿海精密工业股份有限公司,未经鸿富锦精密工业(深圳)有限公司;鸿海精密工业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710201979.9/2.html,转载请声明来源钻瓜专利网。