捕获所有键盘输入

8

首先,我知道这可以用于键盘记录器。但我不是要做那个,我想制作一个应用程序来监听自定义的按键组合,以便自动执行一些非常烦人的任务。

有没有办法捕获键盘的所有输入?


1
如果你所说的是真的,那么你不想监听所有的键组合。你只想监听特定的键组合。注册一个热键。 - David Heffernan
David说得有道理,如果你想捕获特定的输入,那么你可以创建一个带有输入处理程序的应用程序,只查找声明为你的任务快捷方式的特定组合。 - Jesus Ramos
这位作者似乎已经解决了你的问题。 - Chriszuma
1
你知道吗,Windows 已经内置了这个功能,它叫做“热键”(hotkey)(http://msdn.microsoft.com/en-us/library/ms646309%28v=vs.85%29.aspx)。不需要挂钩键盘输入。 - Damon
1
@Ajay 我已经在评论中说过了,请在提问之前仔细阅读。 - user372743
显示剩余6条评论
2个回答

4

如果您想在应用程序没有聚焦时捕获键盘输入,您需要使用Windows HookWH_KEYBOARD。它应该被实现为一个DLL以便注入到所有进程中。示例在这里


4
您似乎正在寻找RegisterHotKey()
我认为您并不想挂钩所有键盘输入。您只需要一个具有隐藏窗口的应用程序来监听WM_HOTKEY。我甚至认为您不需要自己编写它。有很多实用程序可以为您完成此操作,并让您将系统范围的热键与您指定的操作相关联,例如AutoHotKey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接