[發(fā)明專利]嵌入式設備中WEB業(yè)務軟件無干擾接收用戶按鍵的方法無效
| 申請?zhí)枺?/td> | 201210481436.8 | 申請日: | 2012-11-23 |
| 公開(公告)號: | CN103019699A | 公開(公告)日: | 2013-04-03 |
| 發(fā)明(設計)人: | 賈小波;張永強;趙付強;徐圓圓;連毅;劉飛 | 申請(專利權)人: | 鄭州威科姆科技股份有限公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 鄭州大通專利商標代理有限公司 41111 | 代理人: | 白毅明 |
| 地址: | 450001 河南省*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 嵌入式 設備 web 業(yè)務 軟件 干擾 接收 用戶 按鍵 方法 | ||
技術領域
本發(fā)明涉及一種嵌入式設備中WEB業(yè)務軟件無干擾接收用戶按鍵的方法。
背景技術
用戶通過使用遙控器或外接鍵盤操控嵌入式設備中的核心業(yè)務軟件,是嵌入式設備使用的基本操作方式。在基于微軟WES7(全稱:Windows?Embeded?Standard?7)的嵌入式設備上,這一操作方式仍然是用戶使用該設備的主要操作方式之一,但是由于WES7嵌入式設備除了提供紅外接口供遙控器使用外,往往還提供了USB接口供鼠標、鍵盤使用;同時WES7是多任務操作系統(tǒng),用戶可能會同時啟動多個軟件,這些軟件中有一些是第三方軟件,這些軟件可能在某個時刻會彈出某個窗口。在這種情況下,如何實現(xiàn)核心業(yè)務軟件能夠始終正常響應用戶按鍵(遙控器或鍵盤)操作而不受鼠標操作和其他軟件啟動退出、窗口高亮等搶奪業(yè)務軟件窗口輸入焦點行為的影響就是要解決的關鍵技術問題。
目前解決上述問題的常用技術是設法讓要接收按鍵的軟件窗口始終高亮。由于WES7在收到用戶按鍵時,默認會將該按鍵發(fā)送系統(tǒng)當前高亮的窗口,因此目前可用的一種解決方案是:監(jiān)測軟件窗口高亮狀態(tài),當發(fā)現(xiàn)不是高亮時強制設置其為高亮。此方法一般情況下沒有問題,但是由于WES7的窗口高亮狀態(tài)總是臨時狀態(tài),這樣就需要始終檢查和維護該軟件窗口的高亮狀態(tài),一旦發(fā)現(xiàn)用戶啟動了其他軟件或操作了其他軟件窗口導致本軟件高亮狀態(tài)消失,就要趕緊再設置本軟件為高亮狀態(tài),這樣在非高亮至高亮狀態(tài)的之間就有一個空閑時間,若在這個空閑時間內用戶操作了按鍵,就會出現(xiàn)按鍵消息被目標窗口遺漏的情況。
從另一方面來講,現(xiàn)在B-S架構是互聯(lián)網業(yè)務的主流架構模式之一,在WES7嵌入式設備軟件系統(tǒng)中,業(yè)務軟件常常以承載WEB頁面的WEB客戶端軟件的形式存在。由于WEB業(yè)務的復雜和多樣性,有時需要兩個或多個WEB窗口同時接收和處理用戶按鍵。在這種情況下,如何實現(xiàn)業(yè)務軟件收到按鍵后,將按鍵正確的分發(fā)給需要接收按鍵的WEB窗口處理,就是要解決的另一關鍵問題之一。目前解決這一問題的常用技術是將接收到的按鍵值重新組裝為系統(tǒng)標準按鍵消息WM_KEYDOWN/WM_KEYUP,并通過WINDOWS?API?PostMessage函數(shù)投遞該消息到希望接收按鍵的窗口。該技術對于普通WINDOWS窗口是有效的,但對于內嵌IE控件的WEB頁面窗口則是無效的,表現(xiàn)在WEB頁面窗口的WEB頁面接收不到發(fā)過來的普通按鍵。
發(fā)明內容
本發(fā)明針對現(xiàn)有技術不足,提出一種嵌入式設備中WEB業(yè)務軟件無干擾接收用戶按鍵的方法,可以實現(xiàn)在多瀏覽器窗口模式下,用戶操作按鍵后,無論瀏覽器窗口有無焦點,這些瀏覽器窗口中的頁面均能正確接收到用戶操作的按鍵消息。
本發(fā)明所采用的技術方案:
一種嵌入式設備中WEB業(yè)務軟件無干擾接收用戶按鍵的方法,通過如下步驟,完成用戶按鍵信息從用戶操作按鍵到目標窗口正確接收;
a、采用WES7低層鍵盤鉤子攔截用戶按鍵并將按鍵封裝為按鍵消息發(fā)送給業(yè)務軟件專用于接收用戶按鍵消息的窗口;
b、業(yè)務軟件窗口收到消息后再將接收到的按鍵消息解析出來并重新封裝為WES7標準按鍵消息,同時設置當前線程鍵盤狀態(tài)掩碼;
c、然后將按鍵消息發(fā)送給需要按鍵的窗口。
所述的嵌入式設備中WEB業(yè)務軟件無干擾接收用戶按鍵的方法,實現(xiàn)步驟a的流程如下:
1)編寫底層鍵盤鉤子程序(DLL程序),在其中指定業(yè)務軟件專用于接收按鍵消息的窗口標識;
2)編寫底層鍵盤鉤子的管理程序(EXE),用于安裝底層鍵盤鉤子;
3)管理程序運行時調用系統(tǒng)API函數(shù)SetWindowsHookEx在系統(tǒng)中安裝該底層鍵盤鉤子,底層鍵盤鉤子即時生效;
4)戶操作按鍵時,系統(tǒng)將按鍵傳遞給低層鍵盤鉤子進行攔截處理;
5)低層鍵盤鉤子收到系統(tǒng)傳過來的按鍵后,將該鍵值和當前功能鍵CTRL/ALT/SHIFT/WIN的按下抬起狀態(tài)封裝為自定義按鍵消息發(fā)送給業(yè)務軟件專用于接收按鍵消息的窗口。
所述的嵌入式設備中WEB業(yè)務軟件無干擾接收用戶按鍵的方法,業(yè)務軟件窗口收到鍵盤鉤子發(fā)過來的按鍵消息后,解析出當前按鍵和系統(tǒng)功能鍵當前狀態(tài);將當前鍵值封裝為WES7標準按鍵消息WM_KEYDOWN/WM_KEYUP,將功能鍵當前狀態(tài)與系統(tǒng)當前鍵盤狀態(tài)掩碼進行組合,并調用系統(tǒng)API函數(shù)SetKeyboardState重新設置到當前按鍵輸入線程中,以確保系統(tǒng)當前鍵盤狀態(tài)跟鍵盤鉤子收到按鍵時的系統(tǒng)當前鍵盤狀態(tài)一致。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州威科姆科技股份有限公司,未經鄭州威科姆科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210481436.8/2.html,轉載請聲明來源鉆瓜專利網。





