2011-11-20 103 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