在.net应用程序中管理Alt + Tab

问题描述:

我正在开发一个在局域网中工作的简单聊天应用程序。我在ALt + Tab中遇到问题。 当我打开2个应用程序(一个是我的,另一个说Firefox的),现在它在两个窗口之间正确切换,当我按Alt + Tab。在.net应用程序中管理Alt + Tab

现在我会尽量减少firefox。所以现在我的应用程序是前景中唯一的应用程序。现在,如果我按下Alt + Tab,firefox会出现前台,这不是预期的(或者我不期望)。

如何在所有窗口处于最小化状态时使Alt + Tab不起作用?

我使用的是vb.net,但c#也适合我,例如我给了firefox;最小化状态下可能有n个窗口。

请帮帮我。

+5

改变您的期望,以符合默认的操作系统行为将是更高效和用户友好的方法。 –

+0

不,你不是想让你的应用程序像默认的操作系统行为一样。你所描述的现在发生的事情是默认的操作系统行为,所以你不必做任何事情。如果你正在尝试做任何事情,那么你正试图让你的应用程序与其他应用程序的行为不同。 – jmcilhinney

在Windows(或其他操作系统)中按​​TAB应该在每个正在运行且具有顶级窗口的活动应用程序之间切换。所以你所描述的行为实际上是按照预期的方式工作的。

更多关于Wikipedia的说法。

但是,可以通过捕获ALt-Tab事件来破解此行为。它实际上由多个遥控应用程序使用,以便它们可以将命令从一台计算机传输到另一台。

Here is a start up guide,但要注意进入Windows怪异的API和低层次的功能。使用您自己的风险...

+0

我不想永久禁用Alt + Tab功能。我希望它只在我的应用程序处于前景而其他处于最小化状态时禁用。如何知道所有其他应用程序处于最小化状态? –

+0

另一个问题是为什么你想要那个?我相信你想要实现...你可以问Windows API的所有活动窗口,然后检查他们是否最小化或不... –