[發明專利]一種窗口防假死方法和裝置有效
| 申請號: | 201110452300.X | 申請日: | 2011-12-29 |
| 公開(公告)號: | CN102591711A | 公開(公告)日: | 2012-07-18 |
| 發明(設計)人: | 李寶生;陳志;孫鵬 | 申請(專利權)人: | 奇智軟件(北京)有限公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46 |
| 代理公司: | 北京潤澤恒知識產權代理有限公司 11319 | 代理人: | 蘇培華 |
| 地址: | 100016 北京市朝陽*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 窗口 假死 方法 裝置 | ||
1.一種窗口防假死方法,其特征在于,包括:
在通過一線程創建子窗口時,先在與窗口系統各子窗口所在線程不同的線程中創建中間窗口;框架父窗口所述中間窗口為當前創建子窗口的父窗口,所述中間窗口的父窗口為框架父窗口;所述當前創建的子窗口所在線程與框架父窗口所在線程不同;
檢測各子窗口是否假死,如果一子窗口假死,則將假死子窗口的假死消息發送給相應中間窗口所在的線程;
通過所述中間窗口所在線程將中間窗口和所述假死子窗口從窗口框架中分離。
2.根據權利要求1所述的方法,其特征在于,所述的分離包括:
分離中間窗口與框架父窗口的父子關系,和中間窗口對應的子窗口的線程輸入消息循環與中間窗口對應的框架父窗口的線程輸入消息循環的連接關系。
3.根據權利要求1或2所述的方法,其特征在于,通過以下步驟進行分離:
將所述子窗口的線程輸入消息循環從框架父窗口的線程輸入消息循環剝離;
將所述子窗口對應的中間窗口的父窗口設置為空;
將所述子窗口對應的中間窗口本身設置為不是孩子窗口的屬性。
4.根據權利要求1所述的方法,其特征在于,通過以下步驟檢測各子窗口是否假死:
在框架父窗口啟動后,啟動假死窗口檢測線程;
當所述子窗口創建時,將所述子窗口的窗口句柄存入假死窗口檢測線程的隊列中;
檢測各子窗口的窗口句柄對應的時間戳,所述窗口句柄對應的時間戳由相應子窗口所在線程更新;如果一窗口句柄對應的時間戳未更新時間段超過閾值,則確認相應子窗口假死。
5.據權利要求1所述的方法,其特征在于,在將中間窗口和所述子窗口從窗口框架中分離后還包括:
當所述子窗口恢復正常后,恢復所述中間窗口與所述子窗口的父子關系,和恢復所述框架父窗口與所述中間窗口的父子關系。
6.據權利要求5所述的方法,其特征在于,通過以下步驟恢復所述中間窗口與所述子窗口的父子關系,并恢復所述框架父窗口與所述中間窗口的父子關系:
將所述子窗口的線程輸入消息循環和框架父窗口的線程輸入消息循環連接;
將所述子窗口對應的中間窗口的屬性設置為具有孩子窗口屬性;
將假死子窗口對應的中間窗口的父窗口設置為框架父窗口。
7.根據權利要求3或6所述的方法,其特征在于:
通過中間窗口所在線程調用系統API函數AttachThreadInput將所述子窗口的線程輸入消息循環從框架父窗口的線程輸入消息循環剝離;或將所述子窗口的線程輸入消息循環和框架父窗口的線程輸入消息循環連接。
8.據權利要求1所述的方法,其特征在于:
對于所述子窗口所在線程創建彈出窗口時,查詢當前彈出窗口是否在彈出窗口列表中存在;
如果存在,調整當前彈出窗口的屬性為只依賴所述子窗口所在線程。
9.據權利要求1所述的方法,其特征在于:
當所述子窗口退出時,剝離所述中間窗口與所述子窗口與的父子關系,和剝離所述框架父窗口與所述中間窗口的父子關系;
銷毀所述子窗口和中間窗口。
10.根據權利要求1所述的方法,其特征在于:
所述的框架父窗口為瀏覽器框架父窗口,所述子窗口為瀏覽器標簽頁。
11.一種窗口防假死裝置,其特征在于,包括:
中間窗口創建模塊,在與子窗口所在線程不同的線程中創建中間窗口;框架父窗口所述中間窗口為所述子窗口的父窗口,所述中間窗口的父窗口為框架父窗口,所述子窗口所在線程與框架父窗口所在線程不同;
假死窗口檢測模塊,用于檢測各子窗口是否假死,如果所述子窗口假死,則將假死子窗口的假死消息發送給相應中間窗口所在的線程;
分離模塊,用于通過所述中間窗口所在線程將中間窗口和所述假死子窗口從窗口框架中分離。
12.根據權利要求11所述的裝置,其特征在于,所述的分離包括:
分離中間窗口與框架父窗口的父子關系,和中間窗口對應的子窗口的線程輸入消息循環與中間窗口對應的框架父窗口的線程輸入消息循環的連接關系。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于奇智軟件(北京)有限公司,未經奇智軟件(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110452300.X/1.html,轉載請聲明來源鉆瓜專利網。





