【问题标题】:WM_ACTIVATEAPP on Windows Mobile 6Windows Mobile 6 上的 WM_ACTIVATEAPP
【发布时间】:2011-11-20 12:22:52
【问题描述】:

“桌面 Windows”上有WM_ACTIVATEAPP 消息:

当窗口属于不同的应用程序时发送 活动窗口即将被激活。消息被发送到 正在激活其窗口的应用程序和应用程序 正在停用其窗口。

Windows Mobile 上有类似的东西吗? WM_ACTIVATE 无法使用,因为我的应用程序有多个窗口。

我需要WM_ACTIVATEAPP(或类似的东西),因为我想在应用程序被激活/停用时请求/释放一些耗电资源(GPS、背光等)。

【问题讨论】:

  • 这是 C 还是 C++?如果是这样,您可以将该 case 语句放入消息泵中,看看它是否成功。不过,我已经好几年没有在移动设备上使用过 C/C++了。
  • C++。 WM_ACTIVATEAPP 未定义。我尝试捕捉 0x001C,但没有成功。

标签: winapi windows-mobile windows-messages


【解决方案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/

【讨论】:

  • 使用 WM_ACTIVATE 会迫使我在我的应用程序中的 每个窗口 的 WndProc() 中处理它,这是我想避免的。至于您添加到问题中的 C++ 标记 - 问题不是特定于语言的。
猜你喜欢
  • 2011-03-15
  • 2011-06-08
  • 1970-01-01
  • 1970-01-01
  • 2010-12-06
  • 2010-12-11
  • 2011-04-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多