C# 在焦点(或前景)中没有形状的情况下检测KeyDown和KeyUp事件

C# 在焦点(或前景)中没有形状的情况下检测KeyDown和KeyUp事件,c#,forms,events,onkeydown,user32,C#,Forms,Events,Onkeydown,User32,我希望用户能够按下Ctrl键,我的表单会做一些事情,当释放这个键时,表单会做一些其他事情。不幸的是,我的表单可能没有对焦(前景窗口也没有)。我怎样才能做到这一点?我猜这是一只松鼠,但搜索没有发现任何明显的东西 谢谢 Thomas您需要为此使用SetWindowsHook。当键盘被触发时,应用程序将得到一个回调 您应该检查以下示例代码:PInvoke用于从非托管dll调用函数,与键盘挂钩无关。可能无法直接从窗体调用。但是可以使用windows挂钩。参考Hi Jeroen,我知道:)我的意思是,我必

我希望用户能够按下Ctrl键,我的表单会做一些事情,当释放这个键时,表单会做一些其他事情。不幸的是,我的表单可能没有对焦(前景窗口也没有)。我怎样才能做到这一点?我猜这是一只松鼠,但搜索没有发现任何明显的东西

谢谢
Thomas

您需要为此使用SetWindowsHook。当键盘被触发时,应用程序将得到一个回调


您应该检查以下示例代码:

PInvoke用于从非托管dll调用函数,与键盘挂钩无关。可能无法直接从窗体调用。但是可以使用windows挂钩。参考Hi Jeroen,我知道:)我的意思是,我必须调用一些本机dll方法(user32.dll,毫无疑问)来获得我想要的功能