Eri*_* J. 15
您也可以在控制台应用程序中创建全局键盘钩子.
这是完整的,有效的代码:
http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspx
您创建一个控制台应用程序,但必须添加对System.Windows.Forms的引用才能生效.控制台应用程序无法引用该DLL.
我刚刚使用此代码创建了控制台应用程序并验证了它是否按下每个键,无论控制台应用程序是否具有焦点.
编辑
主线程将运行Application.Run()直到应用程序退出,例如通过调用Application.Exit().做其他工作的最简单方法是启动一个新任务来执行该工作.这是从链接代码执行此操作的Main()的修改版本
public static void Main()
{
var doWork = Task.Run(() =>
{
for (int i = 0; i < 20; i++)
{
Console.WriteLine(i);
Thread.Sleep(1000);
}
Application.Exit(); // Quick exit for demonstration only.
});
_hookID = SetHook(_proc);
Application.Run();
UnhookWindowsHookEx(_hookID);
}
Run Code Online (Sandbox Code Playgroud)
注意
可能提供退出控制台应用程序的方法,例如根据您的特定需要按下特殊键组合时.在里面
| 归档时间: |
|
| 查看次数: |
10008 次 |
| 最近记录: |