2011-12-17 119 views
0

我需要创建一个窗体,其中AlwaysOnTop = True当浏览器可见时。这创造了一些“重叠”。逻辑工作原理如下:获取第二个活动窗口vb.net

  • 该程序检查哪个窗口处于活动状态。
  • 如果活动窗口是某个进程,我的表单将初始化TopMost实用程序,并成为活动窗口本身。
  • 当某个进程不再是活动窗口时,我的表单将消失。

我怎么做的:

  • 我的程序检查,如果浏览器是活动窗口,如果是这样:形式得到最上面,然后程序停止检查活动窗口是什么。 (因为我最重要的形式是现在的活动窗口)。
  • 现在程序需要检查我窗体下的窗口是第二个活动窗口。
  • 如果它不再是浏览器,表单需要隐藏,程序将检查活动窗口是什么。

我已经完成了检查第一个活动窗口是什么功能,

我卡上获得该检查第二个活动窗口是什么功能。

+1

你需要点击Jon的回答 – 2011-12-18 06:00:03

回答

1

我不确定是否有这样的事情作为“第二个活动窗口” - 其活动或不活动。

为什么不让您在检测浏览器的第一步之后继续运行窗口检查器。

您可以检测活动窗口何时不再是您的窗体,然后隐藏您的覆盖图。

+0

这是一个空心的复选框我试过了,但是我的表单仍然处于顶端,因为这个原因:它是最顶层的,并且无论发生什么事,它都会保持在最前面。我所做的是任何程序的完全可移动的工具栏。当该程序处于活动状态时,即使只需点击需要覆盖的程序,工具栏也必须可见。当你盯着浏览器时,我的表单不再是活动的表单,如果它不是最顶层的,它会消失在背景中。 – c0ffee 2011-12-17 16:09:37

+0

啊对 - 你确定你正在检测活动窗口,而不是最上层。正如你所说的,他们是微妙不同的东西。 – 2011-12-17 16:15:00

+0

你是对的,最顶层是最顶层的窗口,而不是活动的窗口!谢谢,我为你的帮助,我现在可以继续。 – c0ffee 2011-12-17 17:04:19