web-dev-qa-db-ja.com

コードの実行を完全に停止してアプリケーションを終了するにはどうすればよいですか?

私のコードでは、実行可能ファイル_op.exe_がアプリケーションの実行パスディレクトリにあるかどうかを確認します。ない場合は、MsgBoxを表示してアプリケーションを終了しますが、問題はそうではないことです。後のコードは毎回実行されるため、実際にアプリケーションを終了します。

これが私が話しているコードです:

_    If Not File.Exists("op.exe") Then
        MsgBox("op.exe not found!", MsgBoxStyle.Critical, "Error")
        Application.Exit()
    End If
    IO.Directory.CreateDirectory('files')
_

MsgBoxが表示され、アプリケーションは終了しますが、その後ディレクトリfilesを作成します(IO.Directory.CreateDirectory('files'))。私はそれを望まないので、MsgBoxを表示した後、アプリケーションを完全に閉じたいと思います。

どうやってやるの?

9
Scott

代わりにEnvironment.Exit(0)を試してください。 Application.Exit はメッセージループを終了させますが、それはメッセージループがキューから「終了」メッセージを読み取ることによって発生します。 Environment.Exit は、プロセス自体を終了させます。

20
prprcupofcoffee