アプリケーションの起動を感知する方法

[戻る]
シュウ 2004/12/08(水) 22:19:10
環境はWinXP VC++6.0です。

アプリケーションが起動すると、タスクバーにアイコンが表示されます。
また、タスクマネージャのアプリケーション タブに追加されます。

タスクバーやタスクマネージャに追加される名前は取得することができましたが、
アプリケーションが起動するタイミングは
どのように取る事ができるのでしょうか?

よろしくお願いします。

RAPT 2004/12/09(木) 02:54:06
EnumWindows()で監視するとか。

シャノン 2004/12/09(木) 09:47:55
ウィンドウが作られるタイミングでいいのなら、CBTProc を引っ掛けるとか。
もっと正確に監視したいのなら、すべてのプロセスに読み込まれる DLL を作ってレジス
トリに設定しておくとか。

EnumWindows で済むならそれに越したことは無いと思う。
下へ行くほどリスキーな方法になりますし。

シャノン 2004/12/09(木) 10:14:57
IShellExecuteHook とか ShellProc なんて方法もあるのかも。
いずれにせよ、EnumWindows より簡単ではありませんので、興味があったら調べてみて
ください。

シュウ 2004/12/12(日) 00:19:16
RAPTさん、シャノンさん、レスありがとうございます。

返事が遅くなり大変申し訳ございません。
急遽仙台に出張後軟禁されてました。。

え、え、えと。。
l;:おl:お:お:おさん???
うーん。。。

EnumWindowsでウィンドウのタイトルは取れるのですが、
一定間隔で監視する処理はちょっといやだなぁと思っていましたので、
スレッドを起こしてSetWindowsHookExとShellProcで実現しようと思います。

ありがとうございました。

古いスレッドには追加発言できません。