プロが教えるわが家の防犯対策術!

Win2000、VB.net、.NET Framework 1.1 でWindowsアプリケーションを作成しています。

画面が表示されていない状態で、ある処理を行っている時に
タスクマネージャからプロセスを終了させられたことを検知する
イベントを教えてください。

Mainで
Application.ApplicationExit, Application.ThreadExit
のイベントをAddHandlerで関連付けているのですが
タスクマネージャからプロセスを終了しても
関連付けたプロシージャの処理が行われません。

タスクマネージャからプロセスを終了した場合は
そのプロセスにメッセージは送られないのでしょうか?

また、ある条件になると画面を表示する仕様なのですが
画面を表示中にタスクマネージャからプロセスを終了しても
Form_Closingイベントが発生しません。
そういうものなのですか?

よろしくお願いいたします。

A 回答 (1件)

WindowsXP + VB2005 + .NET 2.0 の環境で ApplicationExit イベントで MsgBox を実行させてみましたら、タスクマネージャからプロセスを終了させてもメッセージボックスが表示されました。


ただ、私がやってみたのは Main は使用せず、スタートアップフォームを Form1 にするやり方で、Form の New() 内で
AddHandler Application.ApplicationExit, AddressOf ...
としたので、その辺りの違いによるものかも・・・と思ったりします。
( .NET 1.1 と .NET 2.0 の違いという可能性もなくはないですが。)
    • good
    • 0
この回答へのお礼

tsukasa-12rさんに試していただいた方法で、私の環境で試してみましたが、やはりイベントは発生しませんでした。
ですので、環境の違いなのかもしれません。

回答、ありがとうございました。

お礼日時:2007/06/23 23:29

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