应用程序的屏幕截图,而不管它前面是什么?
问题描述
这样我就可以使用PIL抓取桌面的屏幕截图,然后使用pywin32获取它的矩形并裁剪出我想要的部分。然而,如果窗口前面有我想要的东西,它会遮住我想要的应用程序的屏幕截图。有没有办法获得窗口显示应用程序当前正在显示的内容?它将数据存储在某个位置,即使其他窗口在它前面。
解决方案
我在答案中发布了工作代码:Screenshot of inactive window PrintWindow + win32gui。它使用PrintWindow
函数。
这是复制隐藏窗口图像的正确方法,但这并不意味着它总是有效。这取决于实现正确消息WM_Print
响应的程序。
如果您尝试使用PrintWindow
不起作用,那么您剩下的唯一选择就是在拍摄BitBlit
之前将窗口移到前面。
相关文章