【发布时间】:2012-03-23 15:06:49
【问题描述】:
C# 控制台应用程序是否可以捕获击键,包括在程序外部按下的击键,类似于键盘记录器?我找到并尝试过的是 Console.ReadKey() 但它只能读取发送到控制台的击键。
【问题讨论】:
-
从他的后续问题来看,我觉得这个更像stackoverflow.com/questions/177856/…
标签: c# .net console keystroke keylogger
C# 控制台应用程序是否可以捕获击键,包括在程序外部按下的击键,类似于键盘记录器?我找到并尝试过的是 Console.ReadKey() 但它只能读取发送到控制台的击键。
【问题讨论】:
标签: c# .net console keystroke keylogger
您需要使用低级键盘挂钩。这是一个使用 Windows 窗体的示例,但您可以轻松地将相同的概念应用于控制台应用程序:
http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspx
希望对你有帮助!
【讨论】:
您必须处理全局键盘事件。看看A Simple C# Global Low Level Keyboard Hook
【讨论】:
你需要使用 Windows API,我会check GetAsyncKeyState。
【讨论】:
是的...您需要查看系统键盘挂钩...我认为这篇文章有您需要的内容:
【讨论】: