• ベストアンサー

windows2000の終了時の判定

windows2000でコンソールアプリケーション(perlで作成)を作成し、常駐プログラムとして稼働させる予定です。windowsの終了時にこのコンソールアプリケーションにある終了処理を行わせたいのですが、 このコンソールアプリケーションでwindows2000の終了を判定する方法がありますでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • nta
  • ベストアンサー率78% (1525/1942)
回答No.1

 コンソールアプリケーションでもWM_CLOSEのメッセージを受け取るイベントハンドラを記述すればいいと思いますが、Windows版のPerlではシグナルが機能しないようになっているため、イベントハンドラのような記述は不可能だと考えられます。どうしても実行するならばsyscallで別のプロセスにこのようなハンドラを立ち上げてプロセス間通信を使うことになります。ただ、別プロセスの場合には親、子のどちらのプロセスが先に終了するか保証がないため、実装には困難が予想されます。Perl以外でコンソールアプリケーションを作成するわけにはいきませんか。

参考URL:
http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q178/8/93.asp&NoWebCo
tatsu99
質問者

お礼

回答ありがとうございました。Perlを選択したのは、ログファイル(=テキストファイル)の監視及び取得の為にperlが最適であるという判断からです。回答から判断しますと、perlでは無理なようですので、終了判定を行わないで済むような方法に切り替えたいと思います。

関連するQ&A

  • コンソールアプリケーションの終了方法

    コンソールアプリケーションをC言語(Visual-C++6.0)にて開発予定です。このアプリケーションは画面を使わないのでコンソールアプリケーションにする予定です。このプログラムは常駐プロセスにし、コマンドで起動停止を行うようにする予定です。プログラムの起動はバッチファイルを作成し、そこから実行しようと考えていますが、プログラムを停止させるバッチファイルのイメージがわきません。unixの場合は、当該プロセスにSIGTERMを送信する等の方法が考えられるのですが、windowsで常駐のコンソールアプリケーションを停止させるには、どのような方法があるのでしょうか。ご存じの方ありましたら、教えてください。停止させる方法は、外部から常駐プロセスに停止である旨の何らかの事象を送り、それを常駐プロセスがキャッチし、自ら停止することを想定しています。(有無をいわさず殺すことは考えていません) 実行環境:windows2003を想定 開発言語:VC++6.0でC言語

  • 常駐するアプリケーションを初めて作成したのですが、Windowsが落ちません。

    VB2008でタスクトレイにアイコンを表示して、常駐するアプリケーションを初めて作成したのですが、Windowsのシャットダウンするときに、この常駐アプリを手動で終了させないとWindowsが落ちません。 何かプログラムで足りないところがあるのでしょうか? 逆にWindowsを終了させないってある意味凄いですが、そのような仕組みはWindowsにあるのでしょうか? たまたまだったのでしょうか?

  • Windows終了時にフリーズする

    FMV(Celeron466MHZ、192MB、Windows98SE)を使っていますが、Windowsの 終了時、かなりの高確率で正常に終了できなくなります。 終了を指示するとデスクトップの表示が消え、画面が真っ暗になるところまでは 行くんですが、正常であればそれからWindowsのアニメーションが出て、電源が 切れるところをアニメーションが出ずにそのままの状態になってしまいます。 Cirl+Alt+Delを1回押すとプログラムの強制終了のダイアログボックスが出て、 そこには必ずRundllというプログラムが表示されます。 そのボックスが表示されると何をやっても動かなくなり、仕方が無くいつも、 ブッチするしかありません。恐らくRundllというプログラムが足をひっぱて いると思うんですが、このプログラムを常駐から外しても不都合は無いもん なんでしょうか?それとも他にいい対処方法がありましたら教えて下さい

  • windows の終了時に・・・

    私はWINDOWS XPを使っています。いつもパソコンを使い終わったときに終了オプションから、終了しています。そこまではいいのですが、そこから、毎回、「プログラムを終了しています」とか、たしか、「アプリケーションの初期化に失敗しました」みたいな表示が出てきます。しばらくすれば勝手にスイッチは切れるのですが、何か個人的に気になってしまって。もし解決方法をご存知の方教えてください。よろしくお願いします。

  • 正しく終了させていると思うのですが…?

    「Windows98」を使っています。 毎日ちゃんと「スタート」の「Windowsの終了」で落としているにも 関わらず、翌日立ち上げようとすると、必ず「不良なセクタを含んでいます」と 表示され、スキャンディスクを実行されてしまいます。 『今後このメッセージを表示させないようにするには、「スタート」から 「windowsの終了」をして下さい』とメッセージが出るのですが、 アプリケーションもきちんと終わらせているつもりですし、何故だか 分かりません。 落とす前に「プログラムの強制終了」画面を表示させて、作動しているものを チェックしたりしてみたのですが、よく分かりません (常駐ソフト?がどれだか分からないので…)。 他に何か原因があるのでしょうか?

  • Windows終了時の問題

    Windows XP Home Edition (2002) SP-3 を使用しています。最近、 Windows 終了時に次の二つのプログラムが応答していないというメッセージがでて、都度強制終了させています。確かではありませんが、IE8をインストールしたあとあたりから出始めたような気もします。また、毎回必ず出るわけではなく、特に、あまりアプリケーションを使用せずに終了させた時などには普通に終わることもあります。 応答していないプログラム (1)AA200725 (2)MCI command handling window (2)については、net上でもいろいろコメントがあるようですが、(1)については何も分かりません。 解決方法またはヒントになるようなことがあれば教えてください。

  • コンソールアプリケーションの終了コードの設定方法

    VB.NETでコンソールアプリケーションを作成したいのですが、このアプリケーションの呼び出し結果を判定し、異常であれば、それなりの処置をしたいと考えています。 VBで作成したコンソールアプリケーションで、終了コードを設定することは可能なのでしょうか。(C言語のexit命令のようなものを想定しています)可能であれば、どのような命令を使用するのでしょうか。

  • Windows2000終了時に…

    当方Windows2000を利用しています。 シャットダウンをかけると毎回、以下のエラーが出ます。 ─────────────────…‥・ 「プログラムの終了- Device Driver Service プログラムをここで終了した場合は、 保存されていないデータが失われる可能性があります。 プログラムを直ちに終了するには、 [すぐに終了]をクリックしてください。 ─────────────────…‥・ 進捗を表すバーが表示されるのでしばらく待つのですが、 Windowsが終了されない、あるいは終了までに非常に時間がかかってしまいます。 また、[すぐに終了]を選択した場合には応答なしのエラーが返って来ます。 そもそもこのDevice Driver Serviceとは何を指しているのでしょうか? どなたか解決法のご教授願います。

  • Windowsの強制終了について

    えっとWindows XP Homeを使っております。 フリーズしたアプリケーションを例の方法で強制終了 させようとすると阿保な文句を何回も返してきます。 「このプログラムからの応答がありません。…終了しますか?」 などと・・・どうしてすぐに終了してくれないのでしょうか? 終了しろって言ってるのに・・・・ 皆様はどうなさっていますか?

  • Windowsが終了できません

    Windows98を使用しています。 最近毎日以下のようなことが起こって心配しています。 1.終了しようとすると砂時計のまま動きません。しばらくすると「このプログラムからの応答がありません…」のメッセージが出て(プログラム名不明)、「待機」や「終了」をどちらを押しても画面がフリーズして結局電源ボタンの長押しで終了するしかありません。 2.立ち上げると異常終了をしたということで毎回スキャンディスクから始まります。 Windowsが立ち上がると「ポ(プ)ーン」という音が2回します。(よく無効なボタンを押したとき出る音です) そしておなじみの「このプログラムは不正な処理を・・・」のメッセージが表示されます。 タイトルバーには「SCANREGW」と表示されています。 数回カチカチ押すとメッセージは消えてあとは普通に使用できます。 「ポ(プ)ーン」という音は何でもないとき(放置しているとき)も不意に鳴ることがあります。 「このプログラムは不正な処理を・・・」のメッセージのタイトルバーに「Pccclient」と表示されたこともあります。 デフラグはかけました。スキャンディスクは「異常なし」と表示されました。 メモリは128MBでシステムリソースは立ち上げ時で41~45%です。 少ないと思われるでしょうが、以前はこれでも異常はなかったです。 常駐ソフトはウィルスバスターの他にフリーソフトを3、4つ入れていますが、これも原因に関わることでしょうか? いずれも「必要なもの」でなるべくはずしたくはないのですが… ハードディスクが壊れる前兆じゃないかと毎日ハラハラしています。 アドバイスがあったらぜひお願いします。