私はc#を使用してWindowsアプリケーションでプログラミングしています。
this.close(); を使用してアプリケーションを閉じたい
アプリケーション ウィンドウが閉じていますが、そのアプリケーション ファイルを削除しようとすると、「別のプロセスで使用されているファイル」と表示されます。
注:私はそのアプリケーションでbackgroundrunnerも使用しています。上記の問題に問題がある場合は?
私はc#を使用してWindowsアプリケーションでプログラミングしています。
this.close(); を使用してアプリケーションを閉じたい
アプリケーション ウィンドウが閉じていますが、そのアプリケーション ファイルを削除しようとすると、「別のプロセスで使用されているファイル」と表示されます。
注:私はそのアプリケーションでbackgroundrunnerも使用しています。上記の問題に問題がある場合は?
を使用するthis.Close()
と、ウィンドウ フォームは閉じられますが、アプリケーションは閉じられません。
アプリケーションで発行したバックグラウンド ランナーは、フォームを明示的に閉じても、引き続きバックグラウンドで実行されます。それがあなたがメッセージを受け取っている理由です。
また、アプリケーションを閉じる前に、バックグラウンド ワーカーがプロセスでビジー状態であるかどうかを確認し、適切に処理してリクエストを終了/完了する必要がある場合もあります。Application.Exit
フォアグラウンド スレッドは終了し続けますが、バックグラウンド スレッドは終了しません。
Application.Exitを使用してアプリケーションを閉じてみてください。
すべてのメッセージ ポンプに終了する必要があることを通知し、メッセージが処理された後にすべてのアプリケーション ウィンドウを閉じます。
メイン メソッドを終了する前に、この関数を呼び出してみてください。
workerThread はバックグラウンド ワーカーです
public void Abort()
{
if (workerThread != null)
{
workerThread.Abort();
workerThread = null;
}
}