私は真夜中にwpfアプリケーションを自動的にシャットダウンしようとします:
Dispatcher.BeginInvokeShutdown(DispatcherPriority.Normal);
これは一般的に非常にうまく機能しますが、ユーザーの応答を待っているメッセージボックスが開いている場合、アプリケーションはシャットダウンに失敗します。メッセージボックスを開いているかどうかに関係なく、アプリケーションをシャットダウンする方法はありますか?
たぶん、Environment.Exitを使用するか(すぐに終了します... GUIアプリで行うのは非常に厄介です)、MessageBoxウィンドウを見つけて閉じるメッセージを送信するか、ネイティブのMessageBoxダイアログの作成をフックします(...つまり、ウィンドウハンドルなので、閉じることができます)。
http://social.msdn.microsoft.com/forums/en-US/winforms/thread/d3f89686-e4d0-4bb1-9052-31abef2a9d2a/
WPF GUIアプリケーションを閉じる正しい方法:GetCurrentProcess()。Kill()、Environment.Exit(0)またはthis.Shutdown()
そして、非常にいたずらな方法:
Process.GetCurrentProcess()。Kill()
WPFアプリケーションの場合
Application.Current.Shutdown();