隐藏窗口的截图

3
我需要截取当前隐藏窗口的屏幕截图,而不需要将焦点放在该窗口上。我在这里看到一个帖子:Window screenshot using WinAPI。由于我从未使用这种方法,因此非常感谢您能够提供任何建议。

我希望能够在Windows或OS X中执行此操作,是否有可能在OS X中实现?它不一定需要使用相同的语言或跨平台,但当然,这是一个加分项:)

2个回答

4
我建议尝试让窗口将自己绘制到位图中,而不是尝试使用屏幕截图来获取图片。这可能是使窗口最小化无关紧要的一种方法。类似于 WM_PRINTWM_PRINTCLIENT 消息。我怀疑这实际上就是那个人原来提出的问题,你链接到的。最大的陷阱是如果窗口不能正确地处理该消息。并不是所有应用程序都表现得很好。此外,我认为它不适用于真正隐藏的窗口,但从您的问题和链接的大量文章中无法确定是否真正存在这种问题。
不幸的是,我对 OS X 编程一无所知;我只是在平台上的一个用户。如果这对你很重要,你可以尝试深入探索 Qt 的源代码,看看他们如何跨平台做到这一点。

0

很难想象你能有一个解决方案适用于Windows和OS X。窗口框架完全不同。尝试提出一个解决方案比编写两个更困难。

至少在Windows上,我不确定你能否成功地截取隐藏或遮挡的窗口截图。当你在网上搜索时,会有无数人问这个问题。他们中没有一个似乎成功了。如果考虑到DWM和Aero Glass,那么我认为你成功的机会是有限的。


我找到了这个链接:http://www.codeproject.com/KB/cs/CapturingMinimizedWindow.aspx?display=Print 但是我还没有尝试过。我99%确定这不会是一个单一的、跨平台的解决方案。我并不太担心这个问题。我只是想知道有没有办法在OS X上实现这个功能。 - wlindner
我对OS X一无所知。来自Code Project链接的代码不会截取最小化窗口的屏幕截图,它会先将其还原! - David Heffernan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接