DWM Thumbnail API と WPF による Exposé 風エフェクト

WPF 関係の大御所「Greg Schechter's Blog」の『A Couple of Cool Uses of the DWM Thumbnail APIs』より.
[Copycat] Expose sous Windows Vista RC1 にて,DWM Thumbnail を使った面白いプログラムが公開されています.
DWM Thumbnail API でウィンドウのサムネイル画像を取得し,それを枠なし最上位表示の WPF ウィンドウにて表示する,というものです.リンク先の作者のページの画像をクリックするとプログラムをダウンロードできます.実行して F12 を押してみましょう.
今のところコンセプト・デモという感じで,細かい部分を変更するには付属するソースコードを編集する必要があります.サンプルコードでは F12 降下後のアニメーション時間が 500 msec になっていますが,これを短くしたければ ExposeAnimator.cpp の m_nAnimEnd と m_nFadingEnd を設定しているところを変更する必要があります.基本的に,Visual C++ 2005 と Windows SDK をインストールすればコンパイルできるでしょう*1
以下はビルド 5728 の環境でコンパイルし直して実行してみたものです(基本的にはリコンパイルしなくても動くと思います).

*1:resource.h 絡みでちょっとだけ修正必要ですけど