• ベストアンサー

タスクマネージャーの状態の取得方法について。

質問があります。 タスクマネージャーに表示されている各タスクの状態(実行中、応答なしetc)を取得するようなAPIはあるのでしょうか? タスクマネージャーには存在するが、応答なしの状態のタスクがあった場合に、一旦タスクを落として再度実行させる監視ツールを作ろうと思っています。 ご存知の方がいらっしゃれば、ご教授願います。

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

  • ベストアンサー
  • nk2
  • ベストアンサー率23% (6/26)
回答No.1

Windowsですよね? CreateToolhelp32Snapshot によってスナップショットをとり、 Process32Firstと Process32Next とで検索して情報を得ます。 std::vector<PROCESSENTRY32> Result; HANDLE hSnapshot = CreateSnapshot(TH32CS_SNAPPROCESS , 0); if (hSnapshot != (HANDLE)-1) { // 最初のプロセスに関する情報を取得 PROCESSENTRY32 pe; pe.dwSize = sizeof(PROCESSENTRY32); if ( Process32First(hSnapshot, &pe) ) { do { Result.push_back(pe); } while(lpfProcess32Next(hSnapshot, &pe) ); } // スナップショットを破棄 CloseHandle(hSnapshot); }

参考URL:
http://www.geocities.jp/winapi_database2/special/2002_2/
this0is6a2pen2
質問者

お礼

回答ありがとうございます。 参考にさせていただきます。ありがとうございました。

関連するQ&A

  • タスクマネージャーのアプリケーションタブの状態

    タスクマネージャーのアプリケーションタブの状態は、 「実行中」と「応答なし」の 2種類のみですか?

  • 「応答なし」の状態を監視する方法

    CreateProcess()で起動したプロセスの状態を監視したいと思っています。 タスクマネージャで見たときの「応答なし」の状態を検出するWin32APIなどの関数はあるでしょうか。 <環境> WindowsXP VC++ 6.0

  • プロセスがタスクマネージャーに残るのは、なぜ?

    vbのプログラムから、GetExitCodeProcessとDo Whileを使用し外部プログラム(メモ帳など)の実行、監視しています。何かの表示しに、外部プログラムが終了しているにもかかわらず終了コードが取れないことがあり、タスクマネージャーを見ると、プロセスが残っている状態です。 なぜ、終了コードが取れずに、プロセスが残るのでしょうか? 何か参考があればよろしくお願いします。

  • タスクマネージャが応答しない

    知人のパソコンのことですけど。 使用しているパソコンはSONYのBIO PCG-FX33S/BP。 エラーは、 「taskmgr.exe アプリケーションエラー」 で、「ctrl+alt+del」でタスクマネージャが立ち上がっていますが、タスクマネージャが応答していない状態です。 タスクマネージャの中は 「taskmgr.exe アプリケーションエラー 実行中」が一番上に出ていて、他は 「Windows タスクマネージャ応答無し」が続いています。 もともと、「Media Player」を起動中にメーラー(Outlook・バージョン不明)を立ち上げ、 送受信をクリックしたら「サーバに繋がらない」と出て、それを閉じようとしたら、 何か(良く覚えていないとのこと)が繰り返し出てきたので、電源を切ったそうです。 その後、再び電源を入れたら、上記のエラーが出てきたそうです。 ハードディスクには常時アクセスしているような状態です。 終了させるにはどうしたらいいでしょうか?

  • タスクマネージャが開けない!!

    タスクマネージャが開けなくなってしまいました。 Alt+Ctrl+Deleteを押すと、「タスクマネージャは管理者によって使用不可にされています。」と表示されます。タスクバーを右クリックした場合は、タスクマネージャの項目が色なしでつかめません。 ウイルスチェックしてもなにもひっかからないし、 何が原因かわかりません。 誰か助けてください。お願いします。

  • タスクマネージャー。

    おはようございます!お世話になります。タスクマネージャーをタスクトレイに登録する方法はあるのでしょうか?「常に表示」設定では出来ませんでした。ご教授をお願い致します。

  • タスクマネージャーについて

    最近タスクマネージャーを起動すると中途半端な状態でとまってしまうんです。 タスクバーはタスクマネージャーのアイコンが出ただけでとまってるし、表示画面は四角い枠の中に起動しているタスクと状態とタスクの終了ボタンと切り替えボタンと新しいタスクボタンしか表示されないんです。 どなたかその他のボタンを出せる方法を教えてください。 OSWindowsXP Home Edition

  • タスクマネージャから音量をいじりたい

    こんにちは。 タスクマネージャから音量をいじる方法はありますか? 現在、タスクマネージャからのみしかPCを動かせない状態にあるもので。。 方法があればご教授ください。

  • タスクマネージャがおかしい

    少し前からタスクマネージャがおかしいんです。 普通開くとウインドウズの青い帯みたいなものが 上につきますよね。 それがなくなってしまい アプリケーションの状態しか表示できなくなってしまいました。 また当然上の帯もないので 終了するときもタスクバーを右クリックするしか なくなってしまいました。 これは一体なぜなのでしょうか? 解決するにはどうしたらよいかご教授ください。 OSはXPです。

  • タスクマネージャ一覧の取得方法について

    対象OSがWindowsサーバ複数だった為、どこのカテゴリに投稿すればいいかわからず間違えていたらすみません。 Windowsのタスクマネージャの情報を定期的にログなどに採取したいと考えております。 対象OSは、Windows2000,2003,XPx64 の3台です。 2003とXPは"tasklist"コマンドで実行時のタスクマネージャの情報は採取できますが、2000に関しては、"tasklist"ではなく、"tlist"コマンドしか使えない様でtasklistに比べて実行した結果も違い、プロセス名やPIDぐらいしか取ることができませんでした。 今回必要な情報は、プロセス単位でCPU使用率とメモリ使用率(可能であれば不可の高い順TOP20だけ表示など)をどれぐらい使用していたかを知りたく思っています。 ですが、tasklistもtlistもCPU使用率までは結果として出してくれない様で困っています。 batで作成するとなるとやはり無理があると思いまして・・・。 なにかいい案などがあればご教授いただけないでしょうか。

専門家に質問してみよう