当应用程序是C#中的任务栏时,如何监听快捷方式

时间:2020-03-05 18:52:48  来源:igfitidea点击:

恩索(Enso)是一个执行此操作的应用程序示例,当我们按下大写锁定时会弹出该应用程序。

解决方案

回答

我们需要在user32.dll中安装一个挂钩。查找Win32-API调用SetWindowsHookEx。我们可以通过Cvia在System.Runtime.InteropServices中进行调用。

本文很好地讨论了该主题。

编辑:拉斯·特鲁伊根斯(Lars Truijens)的答案实际上似乎是一种更好的方法。

回答

我们可以通过调用winapi函数RegisterHotKey对全局热键进行操作。例如,另请参见http://www.codeproject.com/KB/vb/mclhotkeynet.aspx和http://www.codeproject.com/KB/miscctrl/systemhotkey.aspx。我们不能将所有组合键都用作热键。对于不起作用的用户,我们可以尝试使用全局键盘挂钩(SetWindowsHookEx)