如何获取无边框全屏的dwp缩略图wpf/uwp window

How to get dwp thumbnail of borderless fullscreen wpf/uwp window

我尝试使用这些代码捕获 运行 应用程序的实时缩略图: http://community.bartdesmet.net/blogs/bart/archive/2006/10/05/4495.aspx

我已经成功捕获了一些应用程序,除了那些无边​​框全屏windows。

我实际上是在尝试捕获以全屏模式播放视频的 UWP 应用程序,并将缩略图集成到我的应用程序中。我不需要得到它的位图图像,我只需要实时显示。

我尝试更改

的值

GWL_STYLE WS_VISIBLE WS_BORDER

但 none 有效。

当尝试 Alt+Tab windows 时,Windows 10 DWM 可以处理它并显示实时缩略图,所以我相信这可以通过对代码进行一些小的修改来实现。

谢谢!

我使用 Spy++ 检查了示例 uwp 应用程序的 window 样式。

样式是正常的,所以我硬编码了 window 句柄并且它起作用了。调试了一下,原来EnumWindows方法没有return这个window,所以检查什么样式都无所谓

所以我找了下这个方法的问题,题目很多,比如:

不使用 EnumWindows,而是使用此方法获取所有 windows 并为所需的 window 处理程序插入过滤器逻辑

            IntPtr thisWindow = IntPtr.Zero ;
            IntPtr desktopWindow = GetDesktopWindow();
            while (true)
            {
            if (desktopWindow == IntPtr.Zero)
            break;

            IntPtr nextWindow = FindWindowEx(desktopWindow, thisWindow, null, null);
            if (nextWindow == IntPtr.Zero)
            break;

            /** your code here **/

            thisWindow = nextWindow;
            }