挂机键到底干了些什么?

guogangj 2010-07-13 01:08:21
Windows Mobile,按下挂机键(就是挂电话的那个红色的按键),默认动作就是所有的窗口都会隐藏起来,今日主题除外。

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

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

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

上面是我的思路,谁知道挂机键确切做了些什么或者知道怎么解决我的问题的话,不妨告诉我,谢谢。
...全文
343 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Samuel_huahui 2011-11-13
  • 打赏
  • 举报
回复
我也想实现这样的效果,搞了好久都没能成功,希望您能帮帮我 QQ:753018829
guogangj 2010-07-29
  • 打赏
  • 举报
回复
问题后来很快就结局了,跟帖没有满意答案,但我还是散分消灾吧 :D

谁以后遇到这个问题的不妨再给我留言了……
88csdn 2010-07-15
  • 打赏
  • 举报
回复
呵呵,这也说了~~~
AllKeys在coredll.dll中,公开函数了
guogangj 2010-07-14
  • 打赏
  • 举报
回复
to nbcool,不明白你说的AllKeys是什么?C#么?我不懂C#的。
从字面意思上说你是要屏蔽所有按键了?这不是我的意思啊……

另外:我的需求我已经解决了。只是还是不太明白挂机键究竟做了什么事情而已。有人想知道我怎么弄的么?哈哈~
mayonglong 2010-07-14
  • 打赏
  • 举报
回复
不会,帮顶~
载舟之水 2010-07-14
  • 打赏
  • 举报
回复
WinMain()
{
AllKeys(TRUE)
....other code....
AllKeys(FALSE)
}
载舟之水 2010-07-14
  • 打赏
  • 举报
回复
你没有Windows Mobile的开发文档,所以查不到。开发文档是微软提供给授权的合作方或厂商的,网上应该也有泄漏。
guogangj 2010-07-14
  • 打赏
  • 举报
回复
to nbcool:
你所的AllKeys我还真的没找到

载舟之水 2010-07-14
  • 打赏
  • 举报
回复
AllKeys 就是Windows Mobile 标准 API,你不会连帮助文件都没有吧。

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

如果只是想窗口总在最前,那就设个属性行了。如果是有条件在最前,那就处理一下INACTIVE消息。
烂番 2010-07-14
  • 打赏
  • 举报
回复
今日桌面也是个窗体嘛,按电源键时,它被前置了

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

if(电源键)
{
SetWindowPos(xx, TopMost, xx);
return CallNextHookEx(xx);   //这样就不会屏蔽鸟
}

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧