确保实现WPF任务栏窗口预览

如何确保在用户将鼠标放在任务栏图标上时刷新WPF应用程序(.net 4)的预览器。
我有一个可视化一些状态值的应用程序。 如果应用程序窗口已最小化并且用户将鼠标悬停在任务栏按钮上,则显示的预览窗口将显示该窗口处于活动状态的窗口的最后一个视图。 不过,我想有一个实际的观点。
有没有可能实现这一目标?


我相信您需要自定义预览,如此处所述(在“自定义预览”部分下)。 它利用了Microsoft®.NET Framework的Windows API代码包。

一个例子可以在这里找到,但看起来像:

TabbedThumbnail preview = new TabbedThumbnail(parentForm.Handle, childForm.Handle);
TaskbarManager.Instance.TabbedThumbnail.AddThumbnailPreview(preview);
preview.TabbedThumbnailBitmapRequested += (o, e) =>
    {
        Bitmap bmp = new Bitmap(width, height);

        // draw custom bitmap...

        e.SetImage(bmp);
        e.Handled = true;
    };

另外一个例子,可以在这里找到哪些说明:

CustomWindowsManager类提供了一个自定义窗口缩略图预览和实时预览(peek)的抽象,包括在桌面窗口管理器(DWM)请求预览位图时接收通知并自动获取窗口的预览位图的功能。

此代码的下载链接位于此处,其中包含CustomWindowsManager类。 这似乎提供了实时预览。


你可能不能。 Windows 7将打开窗口的图形输入到任务栏的实时预览中。 它无法知道窗口现在看起来像什么,而它最小化的原因是它完全没有被绘制。

我想这不是不可能做自定义缩略图。 除CodeNaked的回答外,我还发现了这篇文章,其中甚至包含了来自同一应用的多个缩略图。

链接地址: http://www.djcxy.com/p/51809.html

上一篇: Ensure WPF Taskbar Window Preview is actualized

下一篇: get average color from bmp