[發明專利]一種基于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.szxzyx.cn/pat/books/201410502531.0/1.html,轉載請聲明來源鉆瓜專利網。





