专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Windows Mobile

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

发布时间:2010-05-30 01:00:00 文章来源:www.iduyao.cn 采编人员:星星草
挂机键到底干了些什么?
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中,公开函数了
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: