English 中文(简体)
在.Net中获取当前窗口的列表,并对其中一个窗口进行聚焦
原标题:
  • 时间:2008-08-30 09:46:06
  •  标签:

在不使用PInvoke的情况下,有没有办法在.net中找到打开的窗口?这与询问哪些应用程序正在内存中运行略有不同。例如,Firefox可能正在运行,但可能是多个窗口。基本上,我只想了解任务栏(以及alt选项卡?)的相同信息。

此外,一旦我引用了一个窗口,有没有任何方法可以通过程序来给它聚焦?

有什么方法可以用托管代码做到这一点吗?

问题回答

您可以查看新的.NET 3.5中的UI自动化内容。它应该掩盖大量PInovke的内容,并与web和WPF应用程序一起工作。

我还没有用过,所以我没有更具体的地方可以指引你,但它可能很合适。

看看这个LGPL项目。我知道它可以设置窗口的前景。否则aku是正确的。这很可能需要一些小电话。

http://mwinapi.sourceforge.net/

如果您需要关于pinvoke使用的信息:

http://www.pinvoke.net/

恐怕没有PInvoke你是不可能做到的。要将焦点放在某个窗口上,您应该调用SetForegroundWindow函数,请参阅这篇文章了解详细信息。





相关问题
热门标签