2011-11-20 100 views
0

WM_ACTIVATEAPP消息在「桌面Windows」:WM_ACTIVATEAPP在Windows Mobile 6

當屬於不同的應用程序比 活動窗口的窗口即將被激活發送。該消息被髮送到窗口正在被激活的 應用程序以及其窗口被停用的應用程序 。

Windows Mobile上有類似的東西嗎?不能使用WM_ACTIVATE,因爲我的應用程序有多個窗口。

我需要WM_ACTIVATEAPP(或類似的東西),因爲我想在應用程序啓動/關閉時請求/釋放一些耗電資源(GPS,背光等)。

+0

This C or C++?如果是這樣,你可以把這個case語句放在消息泵中,看它是否命中。儘管如此,我還沒有在手機上使用過C/C++。 – jp2code

+0

C++。未定義「WM_ACTIVATEAPP」。我試圖捕獲0x001C,但沒有成功。 – binaryLV

回答

1

我認爲windows mobile上不支持WM_ACTIVATEAPP。要檢測應用何時啓用/停用,您可以捕獲WM_ACTIVATE消息。根據MSDN文檔,hWndPrevious,即當被激活的窗口和被禁用的窗口處於不同的進程中時,lParam將始終爲NULL。 以下文章使用相同的概念來解決這個問題。希望這可以幫助你。 http://social.msdn.microsoft.com/forums/en-US/vssmartdevicesnative/thread/3fbe52b6-a895-4470-8cfe-c3d86a58fd73/

+0

使用'WM_ACTIVATE'會迫使我在我的應用程序的每個窗口的WndProc()中處理它,這是我想避免的。至於你添加到問題的C++標籤 - 問題不是特定於語言的。 – binaryLV