既存のウィンドウのためにいつも一番上に「サムネイルを作るためにDWMにそれをどのように簡単です。
-
23-08-2019 - |
質問
あなたは、タスクバー上のVistaのウィンドウにカーソルを合わせると、私は本当に好きで、それはあなたに少しのプレビューを提供します。それがビデオであればそれもサムネイルで再生されます。
多くの場合、私は本当に私はこの小さなウィンドウを「オフ涙」と私の画面上に「常に一番上に」サムネイルとしてそれを保つことができたいと思います。たぶん、その私が見ているプログレスバー、多分その私は少しの小さなプレビューをしたいビデオます。
これはDWMがプログラムにそれが容易になりますもののようなものではありません。これは素敵なマネージドC#でプログラムする簡単な努力をだろう - ?または私はすべてのトリッキーなAPIのもので泥沼になってしまうでしょう。
私はこのような何かをコーディングする方法については、両方の既存のソリューションとポインタに興味を持っています。
解決
C#でこれを使用する方法の非常に良いプレビューます:
http://community.bartdesmet.net /blogs/bart/archive/2006/10/05/4495.aspxする
他のヒント
ここで自己宣伝のため申し訳ありません。 :) OnTopReplica <:ちょうどあなたがすべてのトップレベルウィンドウのクローンを作成し、「常に一番上に」彼らのプレビューを維持することを可能にするアプリがすでにあります言及/>。
プログラムはのWindowsに基づいていますがエアロのライブラリが含ま.NET(C#の)ライブラリフォームいくつかのDWMラッパー。不要トリッキーなAPIのものは(ほかに、APIはとにかく非常に単純ではありません)。
はい、あなたがあなた自身のタスクバーのようなサムネイルを作成することができます。あなたはしかし、ウィンドウハンドル操作のかなりのビットを行う必要があるとしています。あなたは、サムネイルになりますフォームで子ウィンドウを作成することを基本的にどのようにそれが動作です。あなたはいつものトリックを使用してのサムネイルをしたいトップレベルウィンドウのウィンドウハンドルをobtian。そして、次の2つを関連付けるためにDWM機能DWMRegisterThumbnailを呼び出します。あなたは、実際にすべてのサムネイルを描くに巻き込まないでください - 窓が関連していると、DWM合成処理は、フォームのトップレベルウィンドウのサムネイルを絵画の世話をします。