2009-08-21 7 views
0

Windows 7では、IE 8は開いているすべてのタブをタスクバーのサムネイルとして表示します。自分のアプリでこれをどのように達成できますか?Windows 7のタスクバーサムネイル(IE8など)

MSN Messengerの動作は同じです。

+0

Aero Peekは別の機能です。覗き見の機能は、タスクバーの最後にある小さなナブと関係があり、デスクトップやガジェットをプレビューすることができます。 IE8/Messengerの機能は、ライブウィンドウのプレビュー機能と関係しています。 – jrista

+0

あなたはどの言語を使用していますか? C++またはC#? – Kredns

答えて

4

私はこれは、Windows APIコードパックで行われることを信じている:http://code.msdn.microsoft.com/WindowsAPICodePack

そしてここでは、カスタムウィンドウのプレビューがthumbnail-として子ウィンドウ(ブラウザタブ)のリストを公開するために使用することができますか」を説明するブログ記事ですタスクバーに表示可能なウィンドウが表示されます。あなたの必要性のように聞こえます:http://blogs.microsoft.co.il/blogs/sasha/archive/2009/02/12/windows-7-taskbar-apis.aspx

1

次の記事は役立つはずです。 Windows 7にはいくつかの新しいタスクバー機能がありますが、そのすべては以下のリンクで説明されています。

http://msdn.microsoft.com/en-us/magazine/dd942846.aspx

Aeroプレビュー機能は、タスクバーボタンとは何の関係もありません、それはちょうどあなたがあなたのデスクトップやガジェットをプレビューするすべてのウィンドウを完全に透明にすることができますことに注意してください。あなたが実際に探していたのは、追加の検索を行う必要がある場合に備えて、「Windows 7のグループ化されたタスクバーサムネイル」です。

1

これは私が持っているbest referenceです。私はネイティブコードをここに仮定していますが、.NETの同等物はかなり簡単な方法でp/invokeされます。

それは次のように要約:各タブの

  • 、これらのWindows用
    • がDWMWA_FORCE_ICONIC_REPRESENTATION & DWMWA_HAS_ICONIC_THUMBNAIL
  • たびにこれらを設定するDwmSetWindowAttributeを呼び出しプロキシウィンドウを作成代理店窓WM_DWMSENDICONICLIVEPREVIEWBITMAPメッセージを受信し、プロキシウィンドウがWM_ACTIVATEを受信するたびに、プロキシウィンドウに
    • を、対応するサムネイルをレンダリングし、あなたはまた、WM_SYSCOMMAND
  • があなたをつかむ処理する必要が正しいタブ
  • に切り替えITaskbarList4
    • プロキシの各ウィンドウをタブとして登録するには
    • それがこれを行うには良い方法があるはずのように思えるが、私は時を知ってるそのすべて(これは活性化のタブが含まれます)ITaskbarList4インタフェースを介して

をタブ順序を管理してものではありません瞬間。