亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        通用分屏框架窗口軟件設計與實現(xiàn)

        2015-07-24 15:53:54陳海軍
        電腦知識與技術 2015年14期
        關鍵詞:分屏鉤子消息

        陳海軍

        摘要:Windows平臺上面缺乏一款能夠統(tǒng)一整合各類應用程序窗口的通用軟件,因此文中根據(jù)Windows操作系統(tǒng)下應用程序運行的消息機制,通過注入掛載鉤子函數(shù),截獲并處理相關消息,提出了分屏框架窗口軟件的開發(fā)設計思路,并給予了相應的實現(xiàn)算法。

        關鍵詞:消息;鉤子;共享數(shù)據(jù)段;分屏;Splash Window

        中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2015)14-0064-02

        Abstract:On Windows system platform, there is a lack of application that can integrate all kinds of software running windows, this paper analysis application running message theory and hook mechanism, provide design ideas of ‘snap views software, and give the corresponding key algorithms.

        Key words:message; hook; share data seg; sap view; splash window

        目前,在Windows平臺上面,各個領域、各種功能的應用軟件數(shù)不勝數(shù),有很多軟件需要搭配使用,因此,大量工作需要在不同的應用窗口中切來切去,影響工作效率,為解決這個問題,微軟從Win8開始,為寬屏設備用戶提供的“分屏視圖(Snap Views)”功能,可以將兩個需要常在視線內的應用同時并排放在Win8屏幕上便于查看。不過Win8系統(tǒng)中的“分屏視圖(Snap Views)”功能有諸多限制,比如屏幕分辨率必須在1366×768像素以及以上才能使用,而且只能有兩個應用同時顯示等等。本文探討了如何實現(xiàn)一個通用的軟件可以將不同的應用程序整合到同一個框架窗口。

        1 系統(tǒng)分析

        如果要整合各種Windows窗口,必須要深入了解Windows應用程序的運行機制。

        1.1 Windows應用程序運行的機制

        Windows應用程序是基于消息驅動的。在Windows中發(fā)生的事件都可以用消息來表示。針對每一個正在執(zhí)行的Windows應用程序,Windows系統(tǒng)為其建立一個應用程序消息隊列,Windows系統(tǒng)將屬于該程序的各種消息推送到這個隊列中,應用程序中的“Message Loop”的消息循環(huán)處理代碼,用來從消息隊列中依次取出消息并根據(jù)其中信息將其分發(fā)到相應的“Windows Process”窗口處理函數(shù)中去。如圖1所示。

        1.2 Windows應用程序窗口對象關系

        應用程序窗口對象之間存在四種關系,即擁有者(owner)、父親(parent)、孩子(child)、兄弟(sibling)。如果一個窗口的parent非空,則parent和它之間就建立了父子關系。父子關系決定了:

        1)窗口在屏幕上面的顯示位置。父窗口提供了用來定位子窗口的坐標系統(tǒng),一個子窗口只能顯示在它的父窗口的客戶區(qū)中,之外的部分將被裁減。這個裁減法則決定了如果父窗口不可見,則子窗口肯定不可見。如果父窗口移動到了屏幕之外,子窗口也一樣。

        2)通常情況下、窗口之間消息的傳遞是和窗口關系相關的,通知消息會首先發(fā)送給父窗口,然后再轉發(fā)到各個子窗口。

        3)當父窗口被隱藏時,它的所有子窗口也被隱藏。

        4)父窗口被銷毀的時候,它所擁有的子窗口都會被銷毀。

        從以上的分析可知,要整合控制Windows下面各種應用程序,必須實現(xiàn)對應用程序消息的截獲、分析和處理。要做到這一點,這里主要通過兩種手段,一是指定應用程序的父窗口為本程序框架窗口。二是利用Windows鉤子機制截獲應用程序的消息進行處理。

        2 系統(tǒng)設計與實現(xiàn)

        軟件主要分為兩個部分程序,一個是窗口主界面程序,主要負責展示和接收用戶輸入的消息。另外一個是動態(tài)鏈接庫,負責鉤子函數(shù)的注入和消息的截獲處理。

        2.1 主窗口程序主要運行流程(如圖2所示)

        其中需要注意的幾個地方是:

        1)在枚舉查找應用程序窗口的時候,一定要找到應用程序的頂級窗口,不要錯誤捕獲應用程序中的子窗口。

        2)有些應用程序啟動較慢,所以在啟動的時候,有啟動窗口(Splash Window),系統(tǒng)應該能夠自動識別,跳過啟動窗口。

        具體相關代碼如下:

        3 結束語

        本文通過對Windows下應用程序運行機制和消息機理的分析,探討了實現(xiàn)通用的分屏軟件的方法,該軟件目前運行良好,基本能夠滿足日常工作需求,為通過一個框架窗口整合不同的應用程序提供了較好的解決方案。

        參考文獻:

        [1] Charles Petzold. Windows程序設計[M]. 北京: 清華大學出版社, 2010.

        [2] Jeffrey Richter. Windows核心編程[M]. 北京: 機械工業(yè)出版社, 2008.

        [3] Mark Russinovich. 深入解析Windows操作系統(tǒng)[M]. 北京: 人民郵電出版社, 2012.

        [4] 張銀奎. 軟件調試[M]. 北京: 電子工業(yè)出版社, 2008.

        [5] 毛德操. Windows內核情景分析[M]. 北京: 電子工業(yè)出版社, 2009.

        [6] 潘愛民. Windows內核原理與實現(xiàn)[M]. 北京: 電子工業(yè)出版社, 2010.

        [7] 侯俊杰. 深入淺出MFC[M]. 武漢: 華中科技大學出版社, 2001.

        [8] Jeff Prosise. MFC Windows程序設計[M]. 北京: 清華大學出版社, 2007.

        猜你喜歡
        分屏鉤子消息
        基于FPGA的8K分屏器設計
        同屏顯示更方便 隨意調整程序窗口的大小
        電腦愛好者(2021年1期)2021-01-13 05:18:20
        一張圖看5G消息
        誰和誰好
        快樂語文(2018年15期)2018-11-29 10:23:17
        基于Java語言開發(fā)手機軟件控制折疊手機研究
        強制所有應用使用分屏功能
        電腦愛好者(2017年6期)2017-05-04 22:28:46
        幸福的一家
        《脈望館鈔校本古今雜劇》穿關之“鉤子困帶”考
        中華戲曲(2017年2期)2017-02-16 06:53:24
        精鉤子
        金山(2016年5期)2016-05-30 14:18:17
        消息
        1000部夫妻午夜免费| 国产日产桃色精品久久久| 无码喷潮a片无码高潮| 在线精品一区二区三区| 囯产精品无码va一区二区| 国产精品毛片大尺度激情| 亚洲不卡高清av网站| av无码av天天av天天爽| 免费大片黄在线观看| 婷婷激情五月综合在线观看| 人妻少妇偷人精品一区二区| 日本天堂免费观看| 中文字幕无码不卡免费视频 | 国产成人综合亚洲av| 亚洲欧洲精品成人久久曰影片| av免费网站在线免费观看| 一区二区视频在线观看地址| 亚洲国产精品综合久久网各| 国产欧美精品一区二区三区–老狼| 蜜桃在线一区二区三区| 亚洲国产精品一区二区久久恐怖片 | 少妇人妻真实偷人精品视频| av少妇偷窃癖在线观看| 中文字幕人妻av四季| 无码人妻一区二区三区在线| 精品久久久无码中文字幕| 国产亚洲成年网址在线观看| 日本一区二区三级在线| 麻豆精品久久久久久中文字幕无码| 男女超爽视频免费播放| 成年女人18毛片毛片免费| 91久久综合精品久久久综合| 美女张开腿让男人桶爽| 亚洲 自拍 另类 欧美 综合 | 欧美成人精品三级网站| 久精品国产欧美亚洲色aⅴ大片 | 欧洲成人一区二区三区| 国产成人av 综合 亚洲| 国产综合自拍| 久久国产精品免费久久久| 精品无码人妻夜人多侵犯18|