• ベストアンサー

他のアプリケーションの起動と終了のログをとりたい。

SetWindowsHookExを使ってWindowsメッセージをフックし、 他のアプリケーションの起動と終了のログを取ろうと思っているのですが、 使用するフックタイプと起動と終了を意味するメッセージの種類がわからずに困っております。 ついでにアプリの起動を検知した後にそのアプリのプロセスIDを取得したいのですがどのようにすればよいでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • alfeim
  • ベストアンサー率58% (114/195)
回答No.1

残念ですが、メッセージベースではアプリケーションのロギングはできません。 Win32アプリケーションはメッセージプロシージャを持つ事を義務づけられていません。確かにWindowを表示するときに必要になりますが、バックエンドで動くものについてはなくても動作可能です。 なので完全なロギングがしたいのであればこまめにプロセスリストをポーリングして差分が出た時点でそれをロギングするプログラムをする必要があるでしょう。 プロセスのリスト化についてですが、NT系と9x系で多少違います。 NT系ではPSAPI系API、9x系ではToolHelp系APIを利用する必要があります。 詳細は参照URLやMSDNを参照してください。

参考URL:
http://www.microsoft.com/japan/support/kb/articles/JP175/0/30.htm

関連するQ&A