我一直在处理输入事件系统。 我映射了我自己的键盘上的所有键,扫描码等,包括两个Windows键。 当我按下它们时,程序成功地接收到不同的keydown事件。 但是,当我释放按键时,会弹出开始菜单,在Windows模式下遮盖程序,甚至在全屏模式下将其最小化。是否可以通过Windows键(可能没有挂钩)来捕获Windows开始菜单弹出窗口?
所以我的问题在于抑制。
Arma 2,军事模拟器/游戏允许命令映射到这些键没有任何麻烦。
我必须在哪里捕捉该事件? 只要焦点一直在我自己的窗户上,我可以做到吗? 只要它正在运行,我会被禁用的win-key卡住吗? 还是别的?
谷歌搜索主要是由于Windows键也指产品密钥,当我找到某些东西时,通常会停用整个按钮。 我只想压制弹出窗口。
编辑: 我试过
case WM_SYSCOMMAND:
switch(wParam)
{
case SC_TASKLIST:
return 0;
default:
break;
}
但是,这给了我非常奇怪的结果。 如果我将winkeys和winkeys垃圾邮件,它似乎工作,只要我这样做时移动鼠标,它没有,开始菜单会再次弹出。
编辑: 我也尝试过钩,但WIN7他们得到清除,如果回调需要太多的时间,当加载大量数据,可能发生,所以他们建议一个专门的线程,但我认为这是矫枉过正只需要处理一个密钥。
我只想知道开始菜单被调用的位置。我自己的计划?系统? 这太令人讨厌了,我正在考虑试图接触来自波希米亚互动的人,并询问他们是如何做到的。
只要这一个关键,sheesh微软...甚至与“超级键/超级键”搜索条件,我通常只得到平坦的禁用方法,从注册表更改到第三方后台程序。
Bah!
windows key的另一个名称是superkey。它可能会给你不同的结果在谷歌 – CountMurphy
我会恨你的游戏。我将如何回到我的桌面? –
@David:control-alt-delete仍然可以工作 - 我希望。 :-) –