Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 不带焦点的控制台应用程序的录制键_C#_Keyboard_Console Application - Fatal编程技术网

C# 不带焦点的控制台应用程序的录制键

C# 不带焦点的控制台应用程序的录制键,c#,keyboard,console-application,C#,Keyboard,Console Application,我正在做一个控制台应用程序,与其他应用程序一起工作。当代码与其他应用程序一起工作时,控制台没有焦点,因此控制台不会录制键盘。。。我希望能够在控制台应用程序的后台设置一个“观察者”,在代码执行它必须执行的操作时暂停(带空格)和停止(带转义) 因为它不是窗口窗体,所以WndProc的重写找不到任何重写方法您可以使用 如果你不喜欢的话。使用unity,我知道这听起来很愚蠢,但unity有一个钥匙钩处理器 例如: 它非常有用。您应该使用键盘挂钩,检查此链接您需要使用Application.Run()使您

我正在做一个控制台应用程序,与其他应用程序一起工作。当代码与其他应用程序一起工作时,控制台没有焦点,因此控制台不会录制键盘。。。我希望能够在控制台应用程序的后台设置一个“观察者”,在代码执行它必须执行的操作时暂停(带空格)和停止(带转义)

因为它不是窗口窗体,所以WndProc的重写找不到任何重写方法

您可以使用

如果你不喜欢的话。使用unity,我知道这听起来很愚蠢,但unity有一个钥匙钩处理器

例如:


它非常有用。

您应该使用键盘挂钩,检查此链接您需要使用
Application.Run()使您的控制台像windows应用程序一样工作(以某种方式注册窗口)
或手动使用
WndProc
。添加6 Gb的依赖项以使用键盘挂钩不是一个好建议。添加unity确实是一个奇怪的答案,但通过winapi
SetWindowsHookEx
添加键盘挂钩是正确的,所以我向你投了赞成票。我只是在谈论unityengine.dll,而不是整个unity运行时:)@Josh
Input.GetKeyDown("space");