一連のウィンドウ(非表示ではなく、悪意のないもの)を閉じるための自動化を作成しようとしていますが、開いたときにフォーカスを奪われたくありません。問題は、各ウィンドウが開くと、フォーカスが奪われ、バックグラウンドで実行されている間は作業できなくなることです。さまざまなウィンドウを開くためにループで実行するコードは次のとおりです。
using (Process proc = new Process())
{
proc.StartInfo.FileName = filename;
proc.StartInfo.Arguments = arguments;
proc.Start();
Thread.Sleep(1000);
if (!proc.HasExited)
{
proc.Kill();
}
}
この自動化の実行中に他のことを実行できるように、フォーカスなしでこれらを開くにはどうすればよいですか?
補遺:
上記のコードを実行しているプログラムは、単純なコンソールアプリです。私が始めているプロセスはGUIアプリです。テスト/設計の目的で、私は現在iexplore.exe
、さまざまな引数を使用してInternet Explorer()のインスタンスを繰り返し使用してこれを試みています。
これを実行し、これがバックグラウンドで実行されている間、他の無関係な作業を続行します。親アプリにもフォーカスを戻してほしくない。基本的に.exe
、デスクに着いたときにこれを実行し、他のウィンドウに切り替えて他の作業を行います。元のプログラムとその子プロセスは、終了するまで無視します。