全屏应用可防止热键

时间:2010-11-15 15:03:00

标签: c# wpf fullscreen hotkeys

我开发了一个WPF应用程序,它使用com interop注册热键并使用WndProc处理它们。

即使应用程序没有焦点,热键也能正常工作。但是,当某些全屏应用具有焦点(游戏)时,它们不起作用。我有办法解决这个问题吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

禁用热键是设计的,据我所知,你可以做的不多。

全屏DirectX应用程序(通常是游戏)将使用DDSCL_FULLSCREEN和DDSCL_EXCLUSIVE标志调用IDirectDraw :: SetCooperativeLevel,这会导致注册的热键被禁用。

答案 1 :(得分:1)

即使已注册的热键已禁用,您也可以通过低级键盘挂钩处理热键。实现它们可能有点棘手,但您可以查看AutoHotkey source以了解它如何处理低级键盘钩子中的热键。

This是一个关于在C#中设置低级键盘钩子的好教程。