首页> 中国专利> 保护Windows 9X系统安全关机的方法

保护Windows 9X系统安全关机的方法

摘要

本发明为一种保护Windows 9x系统安全关机的方法,其主要是通过拦截Windows 9x的关机函数ExitWindows,而使得计算机暂缓执行关机操作,再趁此时间对执行中的应用程序发出关闭的消息,并且备份使用者尚未储存的资料或数据,然后再启动计算机进行安全关机的操作,如此一来,即可避免在不正常关机的情形之下,所造成数据丢失或应用程序出错的问题。

著录项

  • 公开/公告号CN1369778A

    专利类型发明专利

  • 公开/公告日2002-09-18

    原文格式PDF

  • 申请/专利权人 英业达股份有限公司;

    申请/专利号CN01104606.6

  • 发明设计人 陈玄同;林光信;

    申请日2001-02-15

  • 分类号G06F9/06;G06F17/30;G06F13/14;

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人马莹

  • 地址 台湾省台北市

  • 入库时间 2023-12-17 14:27:51

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-04-18

    未缴年费专利权终止 IPC(主分类):G06F9/06 授权公告日:20040505 终止日期:20110215 申请日:20010215

    专利权的终止

  • 2004-05-05

    授权

    授权

  • 2002-12-04

    实质审查的生效

    实质审查的生效

  • 2002-09-18

    公开

    公开

  • 2001-07-25

    实质审查请求的生效

    实质审查请求的生效

说明书

本发明涉及一种安全关机的方法,特别是一种在Windows 9x系统中执行关机,并且保护档案或数据不致损害或丢失的关机方法。

在目前信息化的时代中,计算机的应用愈来愈普及,甚至有走向家庭化的趋势,这也意味着操作计算机的使用者从以往的专业人士逐渐地遍及至一般的社会大众。由于一般公众在使用计算机的时候,尤其是刚开始使用的时期,往往缺乏正确操作计算机的知识,因此常会导致计算机死机(当机)或其他的问题发生。

此外,操作系统为计算机硬件与使用者间的沟通界面,尤其是一开始的开机操作与最后的关机操作,都是经由它才能顺利完成,因此可想而知其扮演着非常重要的角色。目前一般的个人计算机中,通常以Windows 9x系统(例如Windows 95或Windows 98)做为其主要的操作系统;但是,Windows 9x系统在设计上并没有像Windows NT系统那样,提供对系统关机时的数据保护,也就是说,当应用程序未执行结束之前,由于各种人为或不明的因素造成计算机死机或是不小心而异常关机,很容易会造成使用者未存储的数据丢失,以及应用程序无法正常完成关闭操作。即使像微软(Microsoft)开发的某些应用软件,如Office系列,可以在异常关机重启时自动恢复上次未存储的数据,但是对于大多数其他公司开发的应用软件,却无法做到类似的保护。

有鉴于此,本发明的目的是设计一种在以指令方式下达开机命令的情形下,保护Windows 9x系统中所有应用程序的安全,且在储存完数据后再完成关机操作的方法。

根据上述本发明的目的,提供的一种保护Windows 9x系统安全关机的方法,是利用一拦截模块常驻于系统存储器中,以随时响应出现关机命令的情形发生,而拦截关机函数ExitWindows使其暂缓执行其内容;再利用一程序关闭模块,对系统中每一执行中的应用程序发出关闭命令,并备份尚未储存的资料或数据;最后再通过一重新启动模块,恢复关机函数Exit Windows的原始地址,并重新启动计算机。

为使本发明的上述和其他目的、特征、和优点能更明显易懂,下文特举一较佳实施例,并结合附图,作详细说明如下。

图1示出了本发明的模块功能方决图;

图2示出了本发明的拦截模块流程图;

图3绘示出了本发明的程序关闭模块流程图;以及

图4示出了本发明的重新启动模块流程图。

本发明是应用在使用者以下达指令的方式要求计算机系统关机再重新开机的情形下,例如使用者无意中或在计算机死机时,以同时按下Alt+Ctrl+Del三个按键而执行非正常的关机命令,或者是使用者安装某些软件或更改某些设定,导致安装程序或是计算机系统要求重新开机等等。通常在上述情况下,Windows 9x操作系统会直接调用关机函数ExitWindows,此时虽然亦可以完成关机操作,但是这种情况下的关机操作,系统不会自动将未储存的数据备份,若使用者亦没有先作好储存的工作,则会造成数据的丢失。

因此,本发明提供一种可以补救的方法,其功能模块图如图1所示,图中虚线所示部分为通常进行关机操作后,Windows 9x操作系统直接调用关机函数ExitWindows 102执行关机的运行过程,而实线部分则为本发明所提供的方法。首先,本发明利用一拦截程序,例如一拦截模块103常驻于系统存储器中,以便在使用者执行关机操作后,自动拦截系统本身的关机函数ExitWindows暂缓其中的关机操作,然后趁此空闲执行本发明的程序关闭模块104和重新启动模块105,以模拟操作系统正常的关机和重启动作,并且于此同时,向执行中的应用程序101发出一OP空操作请求,以保证该应用程序101能够正常运行,而不致受到本发明所提供的关机和重启处理的影响。

至于本发明中的拦截模块103的操作流程,请参照图2。首先,本发明将拦截模块103常驻于系统存储器中,使其时时在存储器中查询关机函数ExitWindows的原始地址(步骤201),并且判断是否找到(步骤202),如果没有找到,则表示此时使用者未调用关机函数ExitWindows,因此不须作任何处理,程序结束;如果找到了,则设定自定义的退出函数为RealExitWindows,并为其在存储器中定义新地址(步骤203),并用上述的新地址替换原来ExitWindows函数的原始地址(步骤204)。因此,当使用者进行关机操作时,实际读取的是本发明所提供的自定义函数RealExitWindows,从而让使用者的非正常关机操作被拦截下来,而能够执行本发明所提供的后续操作,让使用者在非正常关机时未存储的资料与数据,能够被自动备份,不会因此而遗失。

至于上述的后续操作请参照图3,图3为本发明的程序关闭模块104的流程图。当此模块启动后,首先扫描系统程序数据库(ProcessDatabase,以下简称PDB)(步骤301),并且读取PDB表中的第一项内容(步骤302),判断该项内容所记载的是否为系统过程(System Process)(步骤303),如果是系统过程,则表示其为系统操作,因此无须拦截而备份数据,只要继续读取PDB表的下一项内容(步骤304),并重复顺序进行上述的判断与步骤即可;如果PDB表中的第一项不是记载关于系统过程的内容,则判断其是否为执行中的应用程序(步骤305),假设不是执行中的应用程序,则同样继续读取PDB表的下一项内容(步骤304),并重复顺序进行上述的判断与步骤;如果该项内容是执行中的应用程序,则向该应用程序发出关闭的命令(步骤306),然后备份关机时使用者未存储的数据和资料(步骤307)。此外,本发明更进一步判断是否完成上述应用程序的关闭过程(步骤308),如果还未关闭,则询问使用者是否要终止目前应用程序的操作(步骤310),如果要终止目前的操作,则再向该应用程序发出关闭命令(步骤306),然后再依序上述备份的操作(步骤307),如果不终止当前操作,则关闭本发明的过程(步骤311),程序结束;但是,如果判断结果是已完成上述关闭过程(步骤308),则判断该应用程序是否为PDB表的最后一项过程(步骤309),如果是,则表示PDB表中的所有过程已经处理完毕,则可以结束本模块并重新启动计算机,如果该过程不是PDB表中的最后一项,则继续读取PDB表中的下一项内容(步骤304),然后再重复依序进行前述的判断和处理。

请参照图4,图4为本发明的重新启动模块105的流程图,该模块可以恢复对应用程序接口(API)的拦截,并可调用系统原始函数来进行计算机的重启操作,其具体操作步骤如下:首先恢复系统关机函数ExitWinows在存储器中的原始地址(步骤401),然后调用执行该关机函数ExitWindows(步骤402),并重新启动计算机(步骤403),之后便将计算机系统的控制权交还给Windowx9x操作系统,然后继续正常的开机过程。

本发明藉由拦截关机函数ExitWindows,使得计算机在不正常关机时,不会立即进行关机操作,而是先行备份关机时未来得及储存的资料与数据,因此,本发明可以提供安全关机的保护操作,让使用者的数据不会因不正常关机而丢失。

虽然本发明已以一较佳实施例披露如上,然其并非用以限定本发明,本领域技术人员,在不脱离本发明的精神和范围的前提下,可作若干更动与润饰,因此本发明的保护范围以后附的权利要求所界定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号