在没有窗口焦点的情况下检测 Windows 上的按键 [关闭]

2024-03-27

我一直在网上搜索,但 Google 上的所有热门结果都只将我引向 Java。这令人沮丧。

我想做的是:制作一个监听键盘事件的程序,而不是活动程序。它必须至少在 Windows 7 上运行,使用 C。

例如,假设我有 myprogram.exe 和 other.exe。我希望能够同时运行它们,并专注于 other.exe,然后按键,并让在侧面运行的 myprogram.exe 显示我按下的按键并记录它们。

如果有人有一个指南或信息的链接来解释我应该用什么来做这个,那就太好了。如果您可以自己写一个解释,那就更好了,但我不介意浏览文档,只要它们是相关的。

我已经用 C 编写了监听活动窗口输入的游戏,但我不确定如何在窗口未聚焦时轮询事件。


如果你想检测其他进程中发生的“按键”事件,你应该实现Global Hook。您可以使用以下命令定义键盘输入事件的回调函数设置WindowsHookEx() https://msdn.microsoft.com/ko-kr/library/windows/desktop/ms644990(v=vs.85).aspx.

请注意,回调函数必须位于 DLL 中才能使其有效全局钩子.

所以你的 myprogram.exe 应该链接一个实现钩子的 dll。然后 myprogram.exe 将能够检测 Windows 上的任何键盘事件。

以下是一个带有解释的好例子。http://www.codeproject.com/Articles/1264/KeyBoard-Hooks http://www.codeproject.com/Articles/1264/KeyBoard-Hooks

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在没有窗口焦点的情况下检测 Windows 上的按键 [关闭] 的相关文章

随机推荐