我有這裏的代碼,啓動一個進程等待8秒,然後殺死它,並再次。C#程序凍結for循環
for (int i = 0; i < 20; i++)
{
Process pro = new Process();
pro.StartInfo.FileName = @"C:\Program Files (x86)\Mozilla Firefox\firefox.exe";
pro.StartInfo.WindowStyle = ProcessWindowStyle.Minimized;
pro.Start();
Thread.Sleep(8000);
try
{
pro.Kill();
Thread.Sleep(1000);
}
catch
{
return;
}
}
當我在調試模式下運行應用程序或直接從.exe啓動時,它會成功啓動並終止進程,但它被凍結。我不能移動它的窗口或點擊其他按鈕..
這是因爲Win表單是單線程的,並且沒有退出的緊密循環不會讓系統重新繪製表單或響應鼠標事件。 – Jeremy 2015-03-31 17:33:20
任何解決方案逃避這個? – Dionisis 2015-03-31 17:33:59
不這樣做...... – Jeremy 2015-03-31 17:34:09