メモ帳等の終了時にWindowsを終了させるには?


やん  2004-10-31 08:46:19  No: 54948  IP: [192.*.*.*]

あるアプリケーション(例えば、メモ帳とか電卓等)が終了された時、
Windowsを終了させる常駐プログラムを作成したいのですが、何か良い
方法はありませんでしょうか?
アプリの起動・終了を認識できればいいのですが、そんなイベント等
ないのでしょうか?いろいろ調べたのですが調べきれずに悩んでいま
す。
OS上で起動中の全プロセスを参照、対象アプリの存在を監視する方法
で作成したのですが1秒おきに監視しているため、負荷が掛かってし
まい、かといって、監視間隔をあけるとタイムラグが大きくなってし
まいます。
よろしくお願いします。

編集    削除
岡田 之仁  2004-10-31 10:47:07  No: 54949  IP: [192.*.*.*]

1秒おきに全プロセス情報を取得したら、CPUに負荷が
かかるのは、当たり前かと・・・

FindWindowとか、EnumWindowとかで、タイトルバーの文字列
か、ウィンドウのクラス名で、列挙させれば、該当するもの
が無い限り、即終了しますので、負荷は無いかと・・・

シェアウェアでシェアウェアキーを入力してレジストしても
一定間隔でウィンドウが出てくるようなケースで、無人にな
ることがあった為、ウィンドウの列挙で、該当のウィンドウ
が表示されるのを監視し、ボタンをクリックさせる・・・
と言うのを作ったことがありますが、そうCPUに負荷は、
無かったと記憶しています。監視は1秒でした。

ご参考までに。

以上。

編集    削除
SG  2004-10-31 20:47:34  No: 54950  IP: [192.*.*.*]

フリーセルの終了を感知して自アプリを終了するソフトを作ったことがあります。
システムフックでやりました。
ので、システムフックでも出来るかと。
フリーセルのWM_DESTROYを捕まえて処理しました。

編集    削除