【发布时间】:2010-06-23 18:41:15
【问题描述】:
短版:
当窗口不活动时,如何使用 C++/C 在 Windows 中接收输入消息?
背景信息:
我目前正在开发一个不应该依赖于任何窗口的输入系统,因此它可以例如也可以在控制台中使用。
我的想法是创建一个只接收消息的不可见窗口,这可以使用 HWND_MESSAGE 作为 hWndParent。它只在它处于活动状态时接收输入消息,我不想要这个。它应该始终接收输入(除非应用程序请求它不再这样做,例如因为它失去焦点)。
我知道这是可能的,许多应用程序都支持全局快捷方式(例如媒体播放器(播放控制)或即时通讯程序(打开联系人列表)),我只是不知道如何。你知道吗?
【问题讨论】:
-
你能告诉我们更多关于你的输入系统的背景吗?您是否试图让两个应用程序相互通信?
-
不,我目前正在开发一个小游戏,并想为其编写一个跨平台兼容的输入库。 (它也将在未来的游戏中使用。)当然,我可以只使用现有的库,但这样我会学到更多,最终我会得到我需要的东西。该库的界面在所有平台上都应该相同(它支持),因此我不想传递窗口句柄或类似的东西。而且我使用 SFML 来创建窗口,并且根本无法访问这些东西(或者我认为,我还不了解 SFML 的各个方面......)