• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Jiang's C++ Space

            創(chuàng)作,也是一種學(xué)習(xí)的過程。

               :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            用過Windows Mobile的人都知道,一般情況下,按下掛機(jī)鍵(就是掛電話那個(gè)按鍵,通常是紅色的),就相當(dāng)于Windows XP中點(diǎn)了那個(gè)“顯示桌面”的圖標(biāo),所有窗口都最小化,桌面顯示出來了,Windows Mobile中的“今日”(Today)就相當(dāng)于Windows的桌面,按掛機(jī)鍵,“今日”就顯示出來了,別的窗口都隱藏(最小化)。

            這個(gè)效果我是想模仿一個(gè)叫Spb Home的桌面美化程序,用過Spb Home的都很清楚這是怎樣一個(gè)效果。

            那我現(xiàn)在有這么個(gè)需求,我希望我的程序不被掛機(jī)鍵隱藏,也就是說希望我的程序取代“今日”,在別的窗口都被隱藏或關(guān)閉的時(shí)候,我的程序窗口依舊顯示。下面是我的思路軌跡:

            做Windows編程出身的我首先想到WM_SHOWWINDOW消息,我程序的主窗口被最小化的時(shí)候應(yīng)該能夠收到這個(gè)消息,我只要對(duì)這個(gè)消息進(jìn)行相關(guān)處理即可,但令我感到意外的是Windows Mobile似乎沒有這個(gè)消息,到網(wǎng)上search,沒有答案,納悶……

            沒有WM_SHOWWINDOW,終歸有別的吧?于是我用Windows CE Remote Spy觀察一個(gè)窗口在按下掛機(jī)鍵時(shí)候接收到的消息,分析了多種情況后,我發(fā)現(xiàn)有一個(gè)消息確實(shí)是按下掛機(jī)鍵時(shí)候能接收到的,但這個(gè)消息沒有在MSDN中被提及,我只知道它的值為0xC005。



            響應(yīng)這個(gè)消息,每次收到的時(shí)候調(diào)用一下SetForegroundWindow(),這么一來,果然奏效了!但問題來了,每次按掛機(jī)鍵的時(shí)候,屏幕總要閃一下,為什么?原因就是我的窗口收到0xC005消息的時(shí)候,它已經(jīng)被隱藏了,我重新把它show出來當(dāng)然要閃一下,這個(gè)效果并不理想。

            繼續(xù)想辦法,那能不能通過鉤子來重定義掛機(jī)鍵的動(dòng)作呢?后來想想不妥,因?yàn)槲也⒉皇且帘位蛘咝薷膾鞕C(jī)鍵的功能,我只是不想讓我的窗口被它隱藏而已,況且鉤子是undocumented的東西,恐怕不太好。

            再思考,如果掛機(jī)鍵的功能就是被默認(rèn)地定義為隱藏所有窗口,那我如何阻止它呢?這是不太可能的吧?所以我想來想去還是想到Spb Home了,看看Spb Home的窗口究竟有什么不同,結(jié)果還真的有了新發(fā)現(xiàn),問題也因此得解。大家看:

            看窗口風(fēng)格這個(gè)值,0x90010000,跟我的程序最大的不同是:首bit是1!第一個(gè)bit是什么意思呢?是WS_POPUP,于是我有樣學(xué)樣,在我的窗口上加上WS_POPUP屬性,就OK了!WS_POPUP窗口不會(huì)自動(dòng)最大化顯示,我們要指定它的顯示位置和大小,這是跟overlapped window的不同,關(guān)于popup,overlapped這些東西,我有另一篇比較完整的文章來闡述的,地址是:
            http://blog.csdn.net/guogangj/archive/2008/12/06/3460267.aspx

            問題終于解決了,沒想到處理起來這么簡(jiǎn)單,但知道這么弄,卻讓我研究了好久。
            posted on 2010-07-14 15:09 Jiang Guogang 閱讀(634) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Windows Embedded Programming
            日本道色综合久久影院| 久久久久亚洲AV片无码下载蜜桃| 狠狠色婷婷综合天天久久丁香 | 亚洲性久久久影院| 无码八A片人妻少妇久久| 久久A级毛片免费观看| 国产免费久久精品99久久| 久久综合九色综合网站| 青青青青久久精品国产| 欧美日韩精品久久免费| 国产高潮国产高潮久久久91 | 国产美女久久久| 久久人人爽人人爽人人av东京热 | 超级碰碰碰碰97久久久久| 久久久91精品国产一区二区三区| 激情综合色综合久久综合| 99久久精品日本一区二区免费| 日韩精品无码久久一区二区三| 91精品国产91久久久久福利| 青青草原综合久久大伊人| 精品国产综合区久久久久久 | 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | 久久久久国产一区二区三区| 伊人久久大香线蕉AV一区二区| 久久精品国产99国产精偷| 久久天天婷婷五月俺也去| 久久国产视频网| 国内精品欧美久久精品| 丁香久久婷婷国产午夜视频| 精品九九久久国内精品| 久久久免费精品re6| 色婷婷综合久久久久中文一区二区| 精品久久久久久久国产潘金莲 | 久久人人爽人人爽人人片AV不 | 亚洲精品无码久久久久AV麻豆| 狠狠色伊人久久精品综合网| 国产精品99久久不卡| 精品久久久久久无码中文野结衣| 亚洲国产精品热久久| 久久国产成人午夜AV影院| 久久精品这里只有精99品|