在這個函數中,我正在檢查遊戲是否運行。如果進程正在運行,我如何讓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