应用程序的屏幕截图,而不管它前面是什么?

2022-04-06 00:00:00 python windows screenshot

问题描述

这样我就可以使用PIL抓取桌面的屏幕截图,然后使用pywin32获取它的矩形并裁剪出我想要的部分。然而,如果窗口前面有我想要的东西,它会遮住我想要的应用程序的屏幕截图。有没有办法获得窗口显示应用程序当前正在显示的内容?它将数据存储在某个位置,即使其他窗口在它前面。


解决方案

我在答案中发布了工作代码:Screenshot of inactive window PrintWindow + win32gui。它使用PrintWindow函数。 这是复制隐藏窗口图像的正确方法,但这并不意味着它总是有效。这取决于实现正确消息WM_Print响应的程序。

如果您尝试使用PrintWindow不起作用,那么您剩下的唯一选择就是在拍摄BitBlit之前将窗口移到前面。

相关文章