使用python截屏应用程序,无论其前面是什么

5 python windows screenshot

因此,我可以使用PIL截取桌面的屏幕截图,然后使用pywin32获取其矩形并裁剪出我想要的部分。但是,如果我想要的窗口前有东西,它将遮挡我想要的屏幕截图的应用程序。有什么方法可以获取Windows将显示应用程序当前正在显示的内容吗?即使在其他窗口前面,它也有该数据。

haz*_*zey 6

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

如果您尝试使用PrintWindow它不起作用,那么您唯一剩下的选择就是在使用BitBlit.


Luc*_*nes 0

IIRC,不在 Vista 之前的 Windows 中 - 使用 Aero,每个窗口都有自己的缓冲区,但在此之前,您只需使用获取矩形的方法即可。我不确定 pywin32 是否支持 Aero。