0

多くの Internet Explorer ウィンドウを開き、同時にさまざまなサイトにアクセスする C# アプリ (自動化されたボット) に取り組んでいます。

以前は 10 秒ごとにほぼ 1 つのウィンドウが開いていたので、数分後には数百のウィンドウが開いていました。もちろん、PC の速度が大幅に低下しました...

そのため、アクティブなすべてのウィンドウをアプリケーションから直接閉じる方法があるかどうかを知りたいと思っています。これにより、そのコードをスレッドなどで数分ごとに実行できます。

前もって感謝します。

4

3 に答える 3

2

オブジェクトを使用InternetExplorerして各ウィンドウを開き、完了したらメソッドを呼び出しQuitます。これには、開いたウィンドウのみを閉じるという追加の利点があります (そのため、ユーザーまたは他のアプリケーションによって開かれたウィンドウは影響を受けません)。

于 2012-07-23T14:50:23.910 に答える
1

WatiNなどのライブラリを使用して自動化を実行することをお勧めします。これにより、主流のブラウザー (IE を含む) を自動化できます。

Watin を使用すると、次のようにウィンドウを開いたり閉じたりできます (非常に単純な例):

screen = new Screen("http://www.google.com")
screen.ie.ForceClose();
于 2012-07-23T14:21:05.473 に答える
-1

@cdhowieが述べたように、実行中のプロセスのリストを循環し、 iexploreのチェックを行い、そのプロセスをすべてタイマー内で終了できます。どの Web サイトが終了されているかをもう少し詳しく調べたい場合 (後で使用するためにログを作成したい場合) 、終了のプロセス中にWeb サイトの情報を取得できます。

于 2012-07-23T14:26:05.233 に答える