C# 不带焦点的控制台应用程序的录制键
我正在做一个控制台应用程序,与其他应用程序一起工作。当代码与其他应用程序一起工作时,控制台没有焦点,因此控制台不会录制键盘。。。我希望能够在控制台应用程序的后台设置一个“观察者”,在代码执行它必须执行的操作时暂停(带空格)和停止(带转义) 因为它不是窗口窗体,所以WndProc的重写找不到任何重写方法您可以使用 如果你不喜欢的话。使用unity,我知道这听起来很愚蠢,但unity有一个钥匙钩处理器 例如:C# 不带焦点的控制台应用程序的录制键,c#,keyboard,console-application,C#,Keyboard,Console Application,我正在做一个控制台应用程序,与其他应用程序一起工作。当代码与其他应用程序一起工作时,控制台没有焦点,因此控制台不会录制键盘。。。我希望能够在控制台应用程序的后台设置一个“观察者”,在代码执行它必须执行的操作时暂停(带空格)和停止(带转义) 因为它不是窗口窗体,所以WndProc的重写找不到任何重写方法您可以使用 如果你不喜欢的话。使用unity,我知道这听起来很愚蠢,但unity有一个钥匙钩处理器 例如: 它非常有用。您应该使用键盘挂钩,检查此链接您需要使用Application.Run()使您
它非常有用。您应该使用键盘挂钩,检查此链接您需要使用
Application.Run()使您的控制台像windows应用程序一样工作(以某种方式注册窗口)
或手动使用WndProc
。添加6 Gb的依赖项以使用键盘挂钩不是一个好建议。添加unity确实是一个奇怪的答案,但通过winapiSetWindowsHookEx
添加键盘挂钩是正确的,所以我向你投了赞成票。我只是在谈论unityengine.dll,而不是整个unity运行时:)@Josh
Input.GetKeyDown("space");