繁体   English   中英

如果窗口未激活则获取输入(Windows)

[英]Getting input if the window is not active (Windows)

精简版:

当窗口未激活时,如何使用C ++ / C在Windows中接收输入消息?

背景资料:

我目前正在研究一种不应该依赖任何窗口的输入系统,所以它也可以在控制台中使用。

我的想法是创建一个只接收消息的不可见窗口,这可以使用HWND_MESSAGE作为hWndParent。 它只在它处于活动状态时才接收输入消息,我不希望这样。 它应该始终接收输入(除非应用程序请求它不再这样做,例如因为它失去焦点)。

我知道这有可能以某种方式,许多应用程序支持全局快捷方式(例如媒体播放器(播放控制)或即时消息(打开联系人列表)),我只是不知道如何。 你知道吗?

选项:

  • RegisterHotKey如果您只需要注册一个或几个热键
  • SetWindowsHookEx与WH_KEYBOARD / WH_KEYBOARD_LL。 需要过滤许多或所有键盘事件时使用。 但是,钩子代码需要在DLL中实现(它被加载到其他进程中)。 您需要单独的32位和64位版本的DLL

你需要设置Windows键盘输入钩子。 是一个如何做的例子; 在C ++中更容易做到

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM