- PR -

コンソールアプリでWindowsのシャットダウンを検知する

1
投稿者投稿内容
未記入
会議室デビュー日: 2006/09/19
投稿数: 2
投稿日時: 2006-09-19 11:36
こんにちは。
コンソールアプリで通常は常に動いているバッチプログラムがあります。
週に一回再起動する際にアプリを正常終了するために、
Windowsのシャットダウンを検知したいのですが、
取得方法がわかりません。
ウィンドウズアプリであれば下記の方法で取得できるようなのですが
http://dobon.net/vb/dotnet/system/sessionending.html
どなたかご存知の方がいらっしゃいましたら教えてください(-д-)|
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2006-09-19 12:26
方法は、たぶん無いです。

本当はSignalと言いたい所なんですが、C Runtimeコンソールアプリケーションの頃からSignalの実装が不完全で、終了などを取得する事が出来ません。恐らくは.NETでも同様だと思います。

Windows APIのHandlerRoutineが相当するんだけど、対になりそうなメソッドは見当たらないですよね。
coasm
大ベテラン
会議室デビュー日: 2001/11/26
投稿数: 237
投稿日時: 2006-09-19 13:19
VBから使えるかどうか知りませんが、
Win32API的には、SetConsoleCtrlHandler() です。
未記入
会議室デビュー日: 2006/09/19
投稿数: 2
投稿日時: 2006-09-20 09:28
甕星さん、coasmさんありがとうございます。
HandlerRoutine、SetConsoleCtrlHandlerをもうちょっと調べてみます。
それで駄目なら他の方法を探してみます!!★
macoto
常連さん
会議室デビュー日: 2006/02/15
投稿数: 25
お住まい・勤務地: 東京都/東京都
投稿日時: 2006-10-16 17:18
Windowsサービスにしてしまえば、シャットダウンイベントが拾えるはずです。
そもそもコンソールアプリをWindowsサービスに出来なくて、この質問に至ったのであればダメですが・・・。
1

スキルアップ/キャリアアップ(JOB@IT)