捕获焦点键盘输入C#控制台程序

时间:2015-04-02 08:13:25

标签: c# input keyboard console

我一直在尝试使用.NET框架中的Windows.Input.Keyboard命名空间在我的程序没有焦点时从键盘捕获输入,但是我编译并调试它,抛出InvalidOperationException并告诉我" 调用线程必须是STA "当我试图检查按键的按下状态时 现在我对这个线程业务了解不多,但我只能假设一个控制台程序不能作为STA线程运行,在这种情况下这意味着我必须制作一个Forms或其他类型的除控制台程序以外的应用程序?或者是否有更友好的方式通过我还没有听说过的不同.N​​ET Framework命名空间中的控制台程序来实现它?

tl; dr 如果我的控制台程序记录它们没有成为焦点,我怎样才能获得发生的按键?

1 个答案:

答案 0 :(得分:0)

不知道如何标记为重复但是这个人:

How can I make my Windows Forms application 'listen' for global key presses?

之前回答了这个问题;) 首先使用Global Hook进行c#。对我来说非常好用