首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Windows Mobile >

挂机键到底干了些什么?该怎么处理

2012-01-21 
挂机键到底干了些什么?Windows Mobile,按下挂机键(就是挂电话的那个红色的按键),默认动作就是所有的窗口都

挂机键到底干了些什么?
Windows Mobile,按下挂机键(就是挂电话的那个红色的按键),默认动作就是所有的窗口都会隐藏起来,今日主题除外。

现在我想写一个程序,按挂机键的时候,它不被隐藏,用过Spb Home的人都应该很清楚这种效果。

我经过很多尝试都没法做到Spb Home的那种效果:

1,我一开始打算响应WM_SHOWWINDOW消息,但我没捕捉到这个消息,Windows Mobile根本没有这个消息?
2,通过CE spy,我看到一个消息,其值为0xC005,但收到这个消息的时候,窗口已经被隐藏,而我再把窗口show出来的时候,就难免有点闪一下,效果不太好。
3,通过钩子改变挂机键行为,但我并不是想屏蔽挂机键,我希望按挂机键的时候别的程序都隐藏,但我的程序show出来。

上面是我的思路,谁知道挂机键确切做了些什么或者知道怎么解决我的问题的话,不妨告诉我,谢谢。

[解决办法]
WinMain()
{
 AllKeys(TRUE)
 ....other code....
 AllKeys(FALSE)
}
[解决办法]
今日桌面也是个窗体嘛,按电源键时,它被前置了

用键盘钩子不一定要屏蔽按键的

C/C++ code
if(电源键){    SetWindowPos(xx, TopMost, xx);    return CallNextHookEx(xx);   //这样就不会屏蔽鸟}
[解决办法]
AllKeys 就是Windows Mobile 标准 API,你不会连帮助文件都没有吧。

如果要处理VK_TEND,只有两种方法,一个是用 AllKeys ,另一个是用SetWindowsHookExW 其他任何方法都是错的,会付出代价。

如果只是想窗口总在最前,那就设个属性行了。如果是有条件在最前,那就处理一下INACTIVE消息。
[解决办法]
你没有Windows Mobile的开发文档,所以查不到。开发文档是微软提供给授权的合作方或厂商的,网上应该也有泄漏。
[解决办法]
呵呵,这也说了~~~
AllKeys在coredll.dll中,公开函数了

热点排行