【发布时间】:2011-01-27 11:50:05
【问题描述】:
我想使用 C# 构建一个 win 应用程序... 我希望这个应用程序接受来自键盘的字母......我希望通过这个程序或另一个程序编写文本......如果我可以选择我想要监视的程序会更好...... . 换句话说...我希望我的程序让所有东西都按在键盘上,并且所有东西都写在 firefox、opera、internet explorer 上,女巫和我的程序同时运行...
【问题讨论】:
我想使用 C# 构建一个 win 应用程序... 我希望这个应用程序接受来自键盘的字母......我希望通过这个程序或另一个程序编写文本......如果我可以选择我想要监视的程序会更好...... . 换句话说...我希望我的程序让所有东西都按在键盘上,并且所有东西都写在 firefox、opera、internet explorer 上,女巫和我的程序同时运行...
【问题讨论】:
您需要一个全局键盘挂钩,它可以让您的应用程序在系统范围内监听键盘输入事件。您可以通过 P/Invoking SetWindowsHookEx function 并为 idHook 参数指定 WH_KEYBOARD_LL 标志来实现这一点。整个过程可能会有点复杂。
但事实证明你很幸运。 Stephen Toub 已经在他的博客上为您编写了代码:Low-Level Keyboard Hook in C#。只需将其放入您的项目中,您就可以从事间谍业务了。
【讨论】:
我相信您正在寻找的是键盘记录器...
如果是这样,您可以找到以下信息: http://www.axino.net/tutorial/2009/02/keylogger-in-c-introduction
【讨论】:
System.Windows.Forms.Keys 枚举中的整数值与 Win32 VK_ 代码完全匹配并非偶然。
在 Code Project 上有一篇相当全面的文章:http://www.codeproject.com/KB/system/KeyLogger.aspx
虽然该文章基于 C++ 等,但它涵盖了您需要了解的许多技术细节。
这里有一个示例 C# 项目:http://www.codeproject.com/KB/system/simple_key_log.aspx。
【讨论】: