• ベストアンサー

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

質問があります。 タスクマネージャーに表示されている各タスクの状態(実行中、応答なし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