2015-04-02 89 views
0

我一直在尝试使用.NET框架中的Windows.Input.Keyboard命名空间来当我的程序没有焦点时捕获来自键盘的输入,但是当我编译和调试它时,抛出一个InvalidOperationException,并告诉我“调用线程必须是STA”,当我尝试检查按键的按下状态时。
现在我不太了解这个线程业务,但我只能假设一个控制台程序不能作为一个STA线程运行,在这种情况下,这是否意味着我必须创建一个Forms或其他类型的应用程序比控制台程序?还是有一种更友好的方式来通过控制台程序在不同的.NET Framework名称空间中执行此操作,但我没有听说过?捕获焦点键盘输入C#控制台程序

tl; dr当我的录制他们的控制台程序不是焦点时,如何获得按键按键?

回答