C#WPF捕捉键关闭,即使最小化

C#WPF捕捉键关闭,即使最小化,c#,wpf,C#,Wpf,我想知道如何使我的应用程序捕捉任何键控/键控,即使在应用程序表单最小化的情况下。比方说,程序最小化,然后用户按“A”,将出现一个弹出控件。请注意,我的程序可以工作,但最小化时不能工作。谢谢。您需要的是热键。没有内置的.NET功能允许这样做,但它内置在Win32 API中 因此,您需要两个方法和,分别位于user32.dll和命名空间中,其中包含重要的参数,我们需要调用上述两个Win32 API函数来注册热键 这里有两个链接,其中包含一个使用热键的好演示 1) , (二) 必须使用这些修饰符和(系

我想知道如何使我的应用程序捕捉任何键控/键控,即使在应用程序表单最小化的情况下。比方说,程序最小化,然后用户按“A”,将出现一个弹出控件。请注意,我的程序可以工作,但最小化时不能工作。谢谢。

您需要的是热键。没有内置的.NET功能允许这样做,但它内置在Win32 API中

因此,您需要两个方法和,分别位于
user32.dll
和命名空间中,其中包含重要的参数,我们需要调用上述两个Win32 API函数来注册热键

这里有两个链接,其中包含一个使用热键的好演示

1) ,

(二)

必须使用这些修饰符和(系统使用的虚拟键代码的符号常量名称、十六进制值和鼠标或键盘等效项):


例如,A是0x41。

当你的应用程序处于焦点时,你想要捕捉“A”,还是想要一个全局快捷方式来“激活”你的应用程序?嗨,非常感谢你的回复,我想要的是让我的表单始终处于焦点,即使它被最小化。因为当我运行我的程序时,我点击了程序窗体之外的任何地方,它当然不起作用。就像WordWeb软件(字典软件)一样,即使这样的软件也会被最小化,当你按下CTRL+ALT+W时,软件会弹出。差不多吧,看。你把代码放在主窗口中,它就工作了。哈罗·萨纳托斯,请看我对下面答案的回复。请。非常感谢你的链接,但是再次,请看我的回复。嗨,我已经将你的答案标记为“答案”。但是,如果没有CTRL,第一个给定链接中的代码将无法工作。“[In]uint fsModifiers”是必需的,每当我试图删除它时,它都会给我一个错误,中断或继续,等等。我真正想要的是让我的程序捕捉/检测NUMLOCK按钮,即使最小化。我用这段代码来判断numlock是否被激活:if(Console.NumberLock==true)@user3231194对于fsModifiers传递0(零),我无法清楚地理解您的问题。第二个链接怎么样?@xanatos-好的,谢谢。今晚晚些时候我会试试你的答案。对于Ustave爵士来说,第一和第二个链接也是一样的,对吗?好的,这是我的小项目的概念。当我的程序最小化时,它仍将检测用户是否按下NUMLOCK,然后程序将生成一条弹出消息,说明NUMLOCK的当前状态(打开或关闭?)。就这样!在未来,我将使我的程序工作,即使它是在托盘中。代码(Console.NumberLock==true)仅在表单被聚焦时工作。好的,标记为已解决:)谢谢Xanatos的评论。我使我的fsModifiers=0;:):)酷!!!
MOD_ALT      (0x0001)
MOD_CONTROL  (0x0002)
MOD_NOREPEAT (0x4000)
MOD_SHIFT    (0x0004)
MOD_WIN      (0x0008)