1

在任务栏的通知区域有一个小型的 3rd-party 程序,它使用 Ctrl-F11 组合键来执行任务。问题是我使用的是相同的快捷方式,但我的快捷方式被另一个快捷方式所掩盖。基本上,当用户按下 Ctrl-F11 时,即使我的窗口是当前处于活动状态的窗口,我也无法做我的事情。我认为活动窗口将优先使用组合键,但显然情况并非如此。考虑到程序是用 .NET C# 编写的,当我的应用程序处于活动状态时,如何获得快捷方式优先级?

4

1 回答 1

0

如果您无法更改托盘应用程序的组合键,则必须在应用程序中使用相同的组合键。一种极端的方法可能是用 C++ 或 Delphi 编写一个 Windows Hook DLL 并过滤所有按键的 Ctrl-F11 并向您的应用程序发送消息。

这不是一项小任务,有一些项目可以在代码项目等上挂钩 Windows 键盘事件。你可以调整其中的一个。当您收到按键并且您的窗口/表单处于活动状态时,您可以使用 SendMessage 向您的窗口发送消息。

这将是最后一次恢复。这取决于你有多需要它。

于 2010-01-15T13:51:11.910 回答