この関数では、ゲームが実行されているかどうかを確認しています。
実行中の場合は、backgroundworker
.
次にtimer2
、ゲームを終了するまで、プロセスが実行されているかどうかを確認し続けます。
しかし、実行中かどうかをチェックし続けて、backgroundworker
何度も何度もやり直したくありません...
そのため、一方ではゲームを終了するまで常に機能を実行したいのですtimer2
が、他方では常に開始したくありませんbackgroundworker
。
private void wichProcessIsrun()
{
Process[] pname = Process.GetProcessesByName("BFBC2Game");
if (pname.Length == 0)
{
Logger.Write("Battlefield Bad Company 2 Ended");
}
else
{
Logger.Write("Battlefield Bad Company 2 Started");
backgroundWorker1.RunWorkerAsync();
}
}
private void timer2_Tick(object sender, EventArgs e)
{
wichProcessIsrun();
}