0

指定されたプログラム/プロセスが開かれたときに、指定されたプログラム自体を起動せずにコードをアクティブにするプログラムを作成するにはどうすればよいですか。

今、私はこのコードを持っています:

while (!IsProcessOpen("ThisProcess")) //"IsProcessOpen" just checks whether the program stated is open in the task manager.
{

}
gopatch.DoWork += new DoWorkEventHandler(gopatch_DoWork);
gopatch.RunWorkerCompleted += new RunWorkerCompletedEventHandler(gopatch_RunWorkerCompleted);
gopatch.RunWorkerAsync();

しかし、この方法ではあまりにも多くのCPUを使用します。CPUの使用量を減らしながら、やりたいように仕事を終わらせる方法はありますか?

4

1 に答える 1

1

Thread.Sleepwhile ループでメソッドを使用して、過度の CPU 消費を防ぐことができます。最適ではありませんが、単純です。もっと良いものが必要な場合は、イベントを使用してみてください。このページでは、 を使用してこれを行う方法について説明しますManagementEventWatcher

于 2013-06-21T02:25:03.280 に答える