在这个函数中,我正在检查游戏是否运行。如果进程正在运行,我如何让timer2只运行一次函数?
如果它正在运行,我开始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();
}
我可以检查背景工作者是否忙碌,但它会一直检查它,并且如果游戏结束或开始多次,它会一直写入日志文件。我需要一切都要做一次,但也要保持观看的过程,直到我退出比赛。 – user2065612 2013-03-11 22:04:18