任务栏的通知区域中有一个小的第三方程序,它使用Ctrl-F11组合键来执行任务。问题是我使用相同的快捷方式,但我的另一个被阴影笼罩。基本上,即使我的窗口是当前活动的窗口,当用户按下Ctrl-F11时我也无法做到。我认为活动窗口在使用组合键时具有优先权,但显然情况并非如此。考虑到程序是用.NET C#编写的,如何在我的应用程序处于活动状态时获得快捷方式优先级?
答案 0 :(得分:0)
如果您无法更改托盘应用的组合键,则必须在应用中使用相同的组合。 一种极端的方法可能是用C ++或Delphi编写Windows Hook DLL并过滤Ctrl-F11的所有按键并向你的应用程序发送消息。
这不是一项小任务,有些项目可以将Windows键盘事件挂钩到Code Project等。您可以调整其中一个。当您收到按键并且窗口/窗体处于活动状态时,您可以使用SendMessage向窗口发送消息。
这将是最后一次改造。这取决于你需要多么糟糕。