• 締切済み

win32の終了コマンド

環境 VC++ 2005 win32でMFC 1.Win32アプリケーション(MFCを使用)しています。 タスクマネージャーでタスクを終了したときに、WM_QUIT等の終了コマンドを取得できるのでしょうか? 2.また、もし取得するにはどのような方法でするのか、ご教示お願いします。 ご存知の方よろしくお願いします。

みんなの回答

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.1

★『win32の終了コマンド』とは何? >タスクマネージャーでタスクを終了したときに、 >WM_QUIT等の終了コマンドを取得できるのでしょうか?  ↑  強制終了時にそのプログラムに WM_QUIT などは送られると思います。  終了コマンドというよりは終了時のメッセージですよね。 ・過去に似たような質問がありました。  http://oshiete1.goo.ne.jp/qa2951438.html→『タスクマネージャの「プロセスの終了」を禁止』  この質問の回答 No.4 を参考にしてみて下さい。 >2.また、もし取得するにはどのような方法でするのか、ご教示お願いします。  ↑  試してはいませんがタスクマネージャで強制終了したときに送られてくるであろう  WM_CLOSE、WM_DESTROY、WM_NCDESTROY、WM_QUIT のメッセージを拾って終了を  強制終了を感知できると思います。他のプロセスで監視したい場合はメッセージを  フックして監視します。フック関数は DLL にしないといけなかった気が…。ちょっと忘れた。 ・以上。参考に。

参考URL:
http://wisdom.sakura.ne.jp/system/winapi/win32/win11.html

関連するQ&A

  • タスクマネージャでの終了について

    アプリケーションソフトを、タスクマネージャで終了させると何か問題はありますでしょうか? というのは、先日こちらで質問させていただいたことの経過なんですが、常駐ソフトをショートカットキーで終了させたいというものです。 http://oshiete1.goo.ne.jp/qa4530593.html この質問時点では思いつかなかったのですが、タスクマネージャを使えば可能かと思い試してみました。 キー操作記憶型マクロ作成ソフトで、タスクマネージャを起動し目的のプロセスを選び終了、という流れのマクロのファイルにして、それをショートカットキーとして登録したところ、うまく目的のソフトを終了させることが出来ました。 ただ、正常に起動しているアプリケーションソフトをタスクマネージャで終了させると何か問題は無いかと心配です。 タスクマネージャで終了させるのは、アプリケーションが応答無しになったときやむを得ず、というイメージがあるので・・・ コマンド文?とかが書ければもっと真っ当な方法があるんでしょうけど、そういうのは全く分かりません。 こういうことをすると良くないものでしょうか。やめておいたほうがいいですか? どうぞアドバイスをお願いいたします。

  • アプリ終了時にタスクトレイからアイコンを消すには?

    以下を参考にタスクトレイにアイコンを追加するようにしました。 http://www.alpha-net.ne.jp/users2/uk413/vc/VCT_TaskTray.html しかしながら、プログラムを終了させてもタスクトレイにアイコンが残っており、マウスポインタをアイコンに近づけるとようやくアイコンが消えます。 一般的なアプリのようにプログラム終了時に即アイコンが消えるようにするにはどうすれば良いのですか? <環境> WIN98 VC++6.0 MFC 

  • プロセス終了の検知について

    Win2000、VB.net、.NET Framework 1.1 でWindowsアプリケーションを作成しています。 画面が表示されていない状態で、ある処理を行っている時に タスクマネージャからプロセスを終了させられたことを検知する イベントを教えてください。 Mainで Application.ApplicationExit, Application.ThreadExit のイベントをAddHandlerで関連付けているのですが タスクマネージャからプロセスを終了しても 関連付けたプロシージャの処理が行われません。 タスクマネージャからプロセスを終了した場合は そのプロセスにメッセージは送られないのでしょうか? また、ある条件になると画面を表示する仕様なのですが 画面を表示中にタスクマネージャからプロセスを終了しても Form_Closingイベントが発生しません。 そういうものなのですか? よろしくお願いいたします。

  • 応答なしアプリの強制終了方法

    やりたいことは、なんらかの理由で「応答なし」になったアプリケーションを別プログラムから強制終了させたい。 タスクマネージャのプロセスの終了を実現したいです。 SendMessageやPostMessageでWM_CLOSEを送っても「応答なし」アプリだと終了してくれません。 どのように実現可能でしょうか? 開発環境は、下記です。 OS:Windows2000SP4 VB6SP5

  • プリンタの正常終了を知りたい

    Windows系において初心者です。 よろしくお願いいたします。 今回、プリンタの正常終了を取得したいと思っています。 やりたいことは、エラーコードを取得し、正常終了であれば次の動作を実行、エラーであれば、プログラムを終了させるというものです。 今まで色々調べては見ましたが、ますひとつは エラーコードを取得するには、まずどのアプリが動いているのか指定しなければいけません。 Win32.dllというのが関係しているようですが、そこからどうしていいかわかりません。 またもう少し簡単な方法で、プリンタ起動時に動くEXEファイルを見つけたので、(E_FARNAPJ.EXE)それがタスクマネージャから消えた時(正常終了ならば消える。)が終了ということで、フラグを立てるなりして判断できないかも考えました。 この場合、タスクマネージャをコマンドプロントで立ち上げ、そこから目的のファイルがあるかどうか判断できないか試しましたが、私の知識不足のせいかできません。 やり方、言語も環境さえあれば何でもいいと思っています。特にソフトを入れたりはできませんので、デフォルトでできる言語が望ましいです。 知識不足のため、質問に必要な情報が記載できていないかもしれません。その場合は、ご教授ください。 よろしくお願いいたします。 OS:WindowsXP

  • タスクマネージャー  「タスクの終了」 「プロセスの終了」

    vistaを使用しています。 タスクマネージャーの アプリケーションタブでの「タスクの終了」と プロセスタブでの「プロセスの終了」では違うのですか? どちらもアプリケーションを終了させる作業だと思っているのでうすが 「プロセスの終了」するときは警告画面がでます。 アドバイスよろしくお願いします。

  • SQLローダーをコマンドプロンプトから実行

    SQLローダーをコマンドプロンプトから実行した場合にロードは実行されログも出力されているのに終了しない。コマンドプロンプトのまま。タスクマネージャーを見るとSQLLDRのタスクが残っている。別端末で実行すると正常に返る。 環境:サーバーWindowsNT4.0 DB oracle8.0.5 クライアントWin2000サーバー oracle8.0.5

  • 実行時のコマンドプロンプトを非表示 Visual C++

    <質問内容> プログラム実行時に自動で起動するコマンドプロンプトを表示させたくないのですが方法をご存知でしょうか? 最小化ではなく非表示にしたいと考えています。 このアプリケーション終了するには、タスクマネージャのプロセスからしか消せないようにする目的です。 (不意にアプリを落としてしまうことを避けるため) <環境> Windows 2000 Microsoft Visual C++ 6.0

  • Windows8.1 プロセスを終了させるコマンド

    windows8.1で、特定プロセスを終了させるコマンドを教えてください。 タスクマネージャーを都度々開かず、 Batch Fileで終了させたいです。(以下のコマンドを使い、プロセス名やID指定しても、反映されません) Windowsで、プロセスを終了するコマンド taskkill Windowsで、プロセス一覧を見るコマンド tasklist 具体的な使用法とオプション taskkillコマンドのオプション:  /im ・・・プロセス名を指定  /pid ・・・プロセスIDを指定  /f  ・・・強制終了 IE(Internet Explorer)を終了したい場合: C:\> taskkill /im iexplore.exe /f プロセスID(1234)を終了したい場合: C:\> taskkill /pid 1234 /f 例) [D:\0\notepad.exeを終了させるコマンド]は、どの様に記述すれば反映されますか?

  • OutlookExpressが動きません!

     PCは自作パソコン、OSはWin2000-SP4の環境です。  つい先日からですが、OEを起動すると、画面は表示されるのですが、コマンドを一切受け付けない状態になります。OEを落とすには「タスクマネージャ」の「アプリケーション」画面で「タスクの終了」を使って落とすしかない状況です。  すみませんが、アドバイス、よろしくお願いします。

専門家に質問してみよう