Windows で、ウィンドウが表示された時に、そのことを検出し、
そのウィンドウのハンドルを取得するコードが必要になりました。
しかし、いろいろ探してみたのですが、フックをかける方法か、タイマで定期的に EnumWindow を回すか、どちらかの方法しか見つかりません。
最終的にはこれでいくしかないんでしょうけど、もっとシンプルに、
他のプロセスに迷惑を与えないような、またシステムに負荷をかけないような方法で、
ウィンドウが表示されたことを検知する方法はないものでしょうか?

(ウィンドウが生成されたら送られてくるメッセージなどがあればいいんですが・・。
ざっと探したところ、見つかりませんでした)

使用言語は Visual C++ で、MFC は使っていません。SDK でガリガリやってます。
2000/XP で動作すればいいので、9x 系にはない API やテクニックによる解決法も大歓迎です。