亚洲免费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
        消息
        国产一级一片内射视频播放| 日韩一区二区肥| 日本视频一区二区三区免费观看 | 精品丝袜人妻久久久久久| 日本一区免费喷水| 亚洲综合小综合中文字幕| 国产一区二区三区在线观看完整版| 特黄大片又粗又大又暴| 老熟女高潮一区二区三区| 亚洲ⅤA中文字幕无码| 精品国精品自拍自在线| 精品国产一区二区三区性色| 高h喷水荡肉爽文np肉色学校| 亚洲乱码中文字幕综合| 国产91色在线|亚洲| 国产精品视频免费一区二区三区 | 久久亚洲欧美国产精品| 全球av集中精品导航福利| 一区二区三区内射视频在线观看| 青青草最新在线视频观看| 国产精品亚洲精品国产| 狠狠噜狠狠狠狠丁香五月| 欧美最猛黑人xxxx黑人表情| 91精品国产91热久久p| 中文字幕视频一区二区| 国产午夜在线视频观看| 精品www日韩熟女人妻| 99精品成人片免费毛片无码| 国产99久久精品一区| 亚洲中文字幕人成乱码在线| 少妇人妻中文字幕hd| 欧美第一黄网免费网站| 91精品欧美综合在线观看 | 日韩av天堂一区二区三区在线| 天堂在线资源中文在线8| 无码人妻精品一区二区三区下载| 亚洲五月婷婷久久综合| 中文字幕一区二区三区综合网| 老熟妇乱子交视频一区| 欧美大肥婆大肥bbbbb| 国产美女高潮流白浆在线观看 |