2011-09-09 74 views
0

我有這個問題: 我建立了一個在c#.net 2.0中的應用程序在托盤欄上,一切工作正常:如果我點擊關閉菜單(即我'我添加了)我叫Close();的主要形式,一切都很好。 我的問題是:如果一個人在沒有關閉我的應用程序的情況下關閉了電腦,windows似乎無法關閉此程序,並且關閉例程被打破。c#windows無法關閉應用程序在關機

備註:在我的應用程序中,我使用了BackgroundWorker。

在此先感謝

+1

後你在哪裏通常 – richardwiden

+0

發生不停止收碼看到代碼我的猜測是你的應用程序沒有正確處理關機事件。你處理[退出事件](http://msdn.microsoft.com/en-us/library/system.windows.application.exit.aspx)? – AlG

回答

4

如果您的應用程序在做的東西是無法正常關閉停止窗口,你應該處理在應用程序中SystemEvents.SessionEnding事件。當系統關閉或用戶註銷時,會觸發此事件。

在事件處理程序,採取一切必要措施,讓您的應用程序可以正常終止,如停止所有的後臺工作人員/線程 - 等