プロが教える店舗&オフィスのセキュリティ対策術

こんにちは

自プログラム(画面)のプロセスの終了時に、そのイベントを
自プログラムでキャッチするにはどうしたらよういのでしょうか?

A 回答 (3件)

> プロセスを強制終了した場合もイベントは拾う事ができるのでしょうか?



プロセスの強制終了は、正常にアプリケーションを終了したわけではないので、
走行しませんし、そのような状態を捕捉するイベントもありません。
.NET Framework(CLR)のエラーが発生して異常終了したからといって、後続の処理が
走行しないのと一緒です。
    • good
    • 0

VB.NET 2.0以上に限るけど(VS2002やVS2003は不可、VS2005、2008、2010、2012のみ)、終了しつつある時にそれが分かればいいのであればMy.Shutdownイベントに応答すればよかよ。



プロジェクトを右クリックしてプロパティ→アプリケーションタブのアプリケーションイベントの表示(I)→ApplicationEvents.vbがプロジェクト直下にできる→(MyApplicationイベント)のShutdownをプルダウンから選ぶ→MyApplication_Shutdown() Handles Me.Shutdownが出来上がるのでそこにプログラムを書く→バッチグー。ちなみにこのイベントは「もう終わる事が決定した後」で呼び出されるので、このイベントで終了を回避(終了しますかとかYes/Noダイアログを出して、Noを選んだら終了しない)という事はできない。

同じくプロジェクトのプロパティでアプリケーションフレームワークを無効にして、プログラムのエントリポイントをSub Mainにすると全部自分で制御できるようになりますが上級者向けなので興味があれば調べてみてください。

この回答への補足

ご回答頂きありがとうございます。


プロセスを強制終了した場合もイベントは拾う事ができるのでしょうか?

補足日時:2013/09/10 21:02
    • good
    • 0
この回答へのお礼

ご回答頂きアリガトウございます。
是非参考にさせて頂きます。

お礼日時:2013/09/10 21:01

んと、スタートアップオブジェクトを変えればいいのでは。




Public Class Class1
' これがエントリーポイント
<STAThread> _
Public Shared Sub Main()
Application.EnableVisualStyles()
Application.SetCompatibleTextRenderingDefault(False)
Application.Run(New Form1())

' ここから、Form1が終了したあとの処理
Console.WriteLine("プロセス終了前の処理")
End Sub
End Class
「VB.NET 自プログラムのプロセス終了」の回答画像1
    • good
    • 0
この回答へのお礼

ご回答頂きアリガトウございます。
是非参考にさせて頂きます。

お礼日時:2013/09/10 21:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています