1つだけ過去を変えられるとしたら?

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

A 回答 (1件)

残念ですが、メッセージベースではアプリケーションのロギングはできません。


Win32アプリケーションはメッセージプロシージャを持つ事を義務づけられていません。確かにWindowを表示するときに必要になりますが、バックエンドで動くものについてはなくても動作可能です。

なので完全なロギングがしたいのであればこまめにプロセスリストをポーリングして差分が出た時点でそれをロギングするプログラムをする必要があるでしょう。

プロセスのリスト化についてですが、NT系と9x系で多少違います。
NT系ではPSAPI系API、9x系ではToolHelp系APIを利用する必要があります。
詳細は参照URLやMSDNを参照してください。

参考URL:http://www.microsoft.com/japan/support/kb/articl …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!