1

taskkill.exe自動化テストのティアダウンのいくつかで 使用しますが、その中には WPF アプリケーションを閉じる必要があるものもあります。

複数のウィンドウが開いている場合、taskkill はアクティブなウィンドウを強制終了しますが、アプリケーション全体は強制終了しないことを発見しました。/F フラグを使用する必要はありません。アプリケーションを正常に閉じることができず、データベースが "ダーティ" のままになるためです。

この問題に遭遇して解決策を見つけた人、または根本的に異なるアプローチを取る前にアイデアを持っている人はいますか? 私が見つけることができる最も近いのは に設定Application.Current.ShutdownModeすることですOnMainWindowCloseが、実行時にメインウィンドウがフロントウィンドウでない場合はもちろん役に立ちませんtaskkill

4

1 に答える 1

0

おそらく Process クラスが役に立ちます。

Process[] p = Process.GetProcessesByName("appname");
p[0].CloseMainWindow();
于 2012-11-29T23:04:42.333 に答える