c# - 如何记录按下的按键?

标签 c# console

本质上,我想记录每次按键(包括按下键/按下键和鼠标点击)以及它们发生的时间,以便我可以从中创建一个宏。

我发现了很多关于按键和 WinForms 或 WPF 的东西,但我真的不需要 GUI,我只是想在完成处理后将其转储到控制台。

那么,即使我的控制台窗口没有焦点,我该如何记录所有的按键操作?


示例输出:

Send {q down}
Sleep 98
Send {q up}
Sleep 4
Send {f down}
Sleep 102
Send {f up}
Sleep 43
Send {a down}
Sleep 26
Send {s down}
Sleep 111
Send {a up}
Sleep 18
Send {s up}
Sleep 17
Send {a down}
Sleep 62
Send {space down}
Sleep 72
Send {a up}
Sleep 5
Send {space up}

目前使用 WPF,但输入文本字段必须获得焦点。我宁愿能够在玩游戏时记录击键,因此问题 :)

最佳答案

看看 SetWindowsHookEx功能。这可用于监视整个系统的击键。

关于c# - 如何记录按下的按键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6770618/

相关文章:

c# - SHA 哈希的最佳临时密码长度

c# - System.InvalidCastException 解析 FluentCommandLineParser 参数

console - Console.writeline()/trace.writeline() 之间的区别

java - 将控制台输出重定向到 JavaFX TextArea?

c# - 作用域 block 的好处?

c# - 使用与主程序存储在不同文件夹中的引用库 (dll)?

c# - Aspnet MVC 4 验证十进制数

c# - 这些与 writeline() 中的方法有什么不同?

c++ - 如何以编程方式将控制台字体设置为光栅字体?

Perl:将Unicode字符串打印到Windows控制台