[发明专利]一种基于windows系统的保存与恢复计算机中用户工作状态的方法有效
申请号: | 201410502531.0 | 申请日: | 2014-09-18 |
公开(公告)号: | CN105426267B | 公开(公告)日: | 2018-06-22 |
发明(设计)人: | 卿海军;冀肖榆;陈丽萍 | 申请(专利权)人: | 梧州学院 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F17/30 |
代理公司: | 广州市越秀区海心联合专利代理事务所(普通合伙) 44295 | 代理人: | 黄为;蔡国 |
地址: | 543002 广西*** | 国省代码: | 广西;45 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 保存 用户工作状态 文档 恢复 计算机 应用程序信息 计算机软件 保存系统 保存信息 文档信息 应用阶段 浏览器 磁盘 网页 浏览 应用 | ||
1.基于windows系统的保存与恢复计算机中用户工作状态的方法,其特征在于:包括如下过程:
第一阶段:收集并保存信息阶段,包括以下几个步骤:
步骤1:收集并保存打开的文档信息,具体包括:
步骤11:导出ZwQuerySystemInformation和ZwQueryInformationFile两个DDK函数;装载ntdll.dll动态链接库,导出ZwQuerySystemInformation和ZwQueryInformationFile两个DDK函数;
步骤12:获取文件句柄的对象类型;
步骤13:获取系统打开的所有文件句柄;调用ZwQuerySystemInformation函数获取系统中所有句柄信息,该函数返回一个包含所有句柄信息的链表,遍历链表找出句柄类型等于步骤12的句柄类型的所有文件句柄,并将之保存到数组中;
步骤14:获取文件句柄所对应的文件名并判断保存;依次取出步骤13所获取的文件句柄,调用ZwQueryInformationFile函数获取文件所对应的文件名,如果文件名的扩展名是doc、docx、wps、xls、xlsx、et、ppt、pptx、dps、pdf和txt,就将该文件的路径及文件名保存起来写进磁盘;
步骤2:收集并保存系统运行的应用程序信息,具体包括:
步骤21:枚举窗口;调用EnumWindows函数枚举下一个窗口,如果枚举完,则转到步骤3;
步骤22:在枚举窗口的回调函数里判断当前窗口是否为一个独立的应用程序窗口;调用函数GetWindowLong获取窗口的属性,根据窗口的属性测试的窗口是否为独立应用程序窗口;如果不是转到步骤21;
步骤23:获取独立窗口应用程序的进程ID;调用GetWindowThreadProcessId获取窗口所对应的进程ID;
步骤24:获取系统所有运行的进程;调用CreateToolhelp32Snapshot函数对系统所有进程进行拍照;
步骤25:在步骤24所获取的进程列表里找出步骤23的进程,并保存进程名;
步骤26:获取步骤23的进程的加载的模块列表;调用函数CreateToolhelp32Snapshot对步骤23的进程加载的模块进行拍照;
步骤27:获取独立窗口应用程序的路径与文件名;枚举步骤26获取的模块列表,并找出当前模块名等于步骤25的进程名的模块,将该模块的路径信息保存起来;
步骤28:筛选步骤27得到的应用程序名并将筛选结果写进磁盘;对步骤27所得到的应用程序信息进行判断,如果应用程序为doc、docx、wps、xls、xlsx、et、ppt、pptx、dps、pdf和txt等文档对应的应用程序,转到步骤21,否则将应用程序路径及文件名存入磁盘,转到步骤21;
步骤3:收集并保存浏览器当前浏览的URL信息,具体包括:
步骤31:枚举所有窗口;调用EnumWindows函数枚举下一个窗口,如果枚举完,则结束运行;
步骤32:获取窗口的类名;调用getClassName函数获取窗口所对应的类名;
步骤33:确定当前窗口是何种浏览器;根据步骤32所获取的窗口类名确定当前窗口是否为某种指定的浏览器;如果不是,则转到步骤31;
步骤34:调用某种指定的的浏览器URL获取方法,获取所有浏览的URL并将之保存到磁盘;由于每种浏览器具体获取URL方法不相同,但基本原理是一样的;
第二阶段:恢复文档、网页与应用阶段,包括以下几个步骤:
步骤1:打开第一阶段保存的文档,具体包括:
步骤11:从磁盘读取某个指定时间的工作状态中的文档信息;
步骤12:调用系统shellExecute函数用默认的应用程序打开保存的文档;
步骤2:运行第一阶段保存的应用,具体包括:
步骤21:从磁盘读取某个指定时间的工作状态中的应用程序信息;
步骤22:调用系统shellExecute函数运行保存的应用程序;
步骤3:打开第一阶段保存的URL,具体包括:
步骤31:从磁盘读取某个指定时间的工作状态中的URL信息;
步骤32:调用系统shellExecute函数用浏览器打开保存的URL。
2.如权利要求1所述的基于windows系统的保存与恢复计算机中用户工作状态的方法,其特征在于:所述第一阶段步骤34,具体包括如下步骤:
步骤34.1:获取URL地址栏句柄;每种浏览器关于URL地址栏控件的层次结构不一样,可以通过spy工具软件逐级找到其父窗口的窗口类;从顶层窗口开始,逐级调用FindWindowEx找到URL地址栏的句柄;
步骤34.2:获取当前标签的URL,如果与前面获取的URL一样则转到第一阶段步骤31;调用SendMessage函数发送WM_GETTEXT消息给URL地址栏控件,获取URL;判断URL与之前获取的URL是否一样,是则表示已获取完浏览器所有的URL,同时转到第一阶段步骤31;
步骤34.3:发送切换标签快捷键给浏览器切换标签,转到步骤34.2;调用SendMessage函数发送包含标签切换快捷键的WM_KEYDOWN消息给浏览器进行标签的切换,转到步骤34.2。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于梧州学院,未经梧州学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410502531.0/1.html,转载请声明来源钻瓜专利网。