保护Windows9X系统安全关机的方法

文档序号:6653084阅读:533来源:国知局
专利名称:保护Windows 9X系统安全关机的方法
技术领域
本发明涉及一种安全关机的方法,特别是一种在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,使得计算机在不正常关机时,不会立即进行关机操作,而是先行备份关机时未来得及储存的资料与数据,因此,本发明可以提供安全关机的保护操作,让使用者的数据不会因不正常关机而丢失。
虽然本发明已以一较佳实施例披露如上,然其并非用以限定本发明,本领域技术人员,在不脱离本发明的精神和范围的前提下,可作若干更动与润饰,因此本发明的保护范围以后附的权利要求所界定。
权利要求
1.一种保护Windows 9x系统安全关机的方法,用于当计算机非正常关机时,保护尚未储存的资料或数据,该方法包括有拦截该系统本身的一关机函数ExitWindows,并且另以一自定义的退出函数代替;扫描该系统中的一过程数据库(Process Database),并依据该过程数据库中项目的内容,对执行中的应用程序发出关闭命令,以储存计算机非正常关机时所未储存的数据或资料;以及执行该关机函数ExitWindows,并重新启动计算机系统。
2.如权利要求1所述的保护Windows 9x系统安全关机的方法,其中拦截该关机函数ExitWindows的执行内容还包括有以下步骤查询该关机函数ExitWindows在存储器中的原始地址;定义该退出函数在存储器中的新地址;以及用该新地址替换该原始地址。
3.如权利要求1所述的保护Windows 9x系统安全关机的方法,其中该自定义的退出函数名称为RealExitWindows,用于暂时取代该关机函数ExitWindows,并于此时执行备份档案数据的操作。
4.如权利要求1所述的保护Windows 9x系统安全关机的方法,其中在该系统的存储器中常驻有一拦截程序,以随时监测并拦截该关机函数ExitWindows。
5.如权利要求1所述的保护Windows 9x系统安全关机的方法,其中藉由一程序关闭模块,来执行关闭应用程序与储存数据的步骤。
6.如权利要求1所述的保护Windows 9x系统安全关机的方法,其中若该过程数据库(Process Database)中项目的内容为系统过程时,则跳过不予处理。
7.如权利要求1所述的保护Windows 9x系统安全关机的方法,其中还包含有下列步骤判断是否完成关闭该执行中的应用程序;根据该判断结果,询问使用者是否终止操作该应用程序;以及根据该询问结果,向该应用程序再发出一关闭命令。
8.如权利要求7所述的保护Windows 9x系统安全关机的方法,其中若该询问结果为使用者不要终止操作该应用程序时,则关闭本发明过程,结束程序。
9.如权利要求1所述的保护Windows 9x系统安全关机的方法,其中藉由恢复该关机函数ExitWindows在存储器中的原始地址,而重复执行该关机函数ExitWindows。
10.如权利要求1所述的保护Windows 9x系统安全关机的方法,其中还增加向该应用程序发出一OP空操作请求的步骤,以确认该应用程序能够正常运作。
全文摘要
本发明为一种保护Windows 9x系统安全关机的方法,其主要是通过拦截Windows 9x的关机函数ExitWindows,而使得计算机暂缓执行关机操作,再趁此时间对执行中的应用程序发出关闭的消息,并且备份使用者尚未储存的资料或数据,然后再启动计算机进行安全关机的操作,如此一来,即可避免在不正常关机的情形之下,所造成数据丢失或应用程序出错的问题。
文档编号G06F17/30GK1369778SQ0110460
公开日2002年9月18日 申请日期2001年2月15日 优先权日2001年2月15日
发明者陈玄同, 林光信 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1