在任务栏的通知区域中有一个使用Ctrl-F11组合键执行任务的小型第三方程序。问题是我使用的是相同的快捷键,但我的快捷键被另一个快捷键遮挡住了。基本上,当用户按Ctrl-F11组合键时,即使我的窗口是当前处于活动状态的窗口,我也不能执行我的操作。我原以为活动窗口会优先使用组合键,但显然并非如此。考虑到程序是用.NET C#编写的,当我的应用程序处于活动状态时,如何获得快捷方式优先级?
发布于 2010-01-15 21:51:12
如果您无法更改托盘应用程序的组合键,则必须在您的应用程序中使用相同的组合键。一种极端的方法可能是用C++或Delphi编写一个Windows Hook DLL,过滤所有按下Ctrl-F11的键,然后向应用程序发送一条消息。
这不是一个小任务,有一些项目可以在代码项目上连接Windows键盘事件,你可以改编其中的一个。当您收到按键并且您的窗口/表单处于活动状态时,您可以使用SendMessage向您的窗口发送消息。
这将是最后一次恢复。这取决于你有多需要它。
https://stackoverflow.com/questions/2071835
复制相似问题