2012-07-23 187 views
0

我正在使用C#应用程序(自动化机器人)来打开许多Internet Explorer窗口并同时访问不同的站点。关闭所有浏览器窗口?

它使用开放几乎每10秒窗口,因此,几分钟后,我只是有几百个窗口,其中,当然,慢慢地放下我的电脑了不少......

所以,我很想知道是否有某种方法可以直接从我的应用程序中关闭所有活动的窗口,以便我可以在线程或类似的东西中运行该代码,每隔几分钟。

在此先感谢。

+3

那么,你可以找到并终止iexplore过程... – cdhowie 2012-07-23 14:15:16

+0

你是什么意思的“积极”?通常只有一个活动窗口 - 有焦点的窗口。你是否在处理所有这些窗口? – Widor 2012-07-23 14:18:23

+2

只是一个问题:为什么打开窗户?为什么不使用WebClient?你打开窗户时是否真的在看输出? – RBZ 2012-07-23 14:18:28

回答

1

我会建议使用像WatiN这样的库来执行自动化,这可以让您自动化任何主流浏览器(包括IE)。

使用华廷,你会打开和关闭,像这样(很简单的例子)窗口:

screen = new Screen("http://www.google.com") 
screen.ie.ForceClose(); 
+1

另一个需要考虑的方案可能是Selenium。 – 2012-07-23 16:21:35

-1

正如@cdhowie提到的,你可以循环通过list of running processes,为IEXPLORE做了检查,并全部终止该进程在一个计时器内。如果您想深入了解哪些网站正在终止(也许您想创建日志供以后使用),您可以在终止过程中使用retrieve website information

2

使用InternetExplorer对象打开每个窗口和invoke the Quit method when done。这有附加好处,只关闭你打开的窗口(这样用户或其他应用程序打开的窗口不受影响)。