【问题标题】:Screenshot of Hidden Window隐藏窗口截图
【发布时间】:2011-07-04 06:38:05
【问题描述】:

我需要对当前隐藏的窗口进行屏幕截图,而不将焦点放在该窗口上。我在这里看到了一个帖子:Window screenshot using WinAPI

我从未使用过这种方法,因此非常感谢任何建议。

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

【问题讨论】:

    标签: windows winapi macos screenshot


    【解决方案1】:

    很难想象您可以拥有一种适用于 Windows 和 OS X 的解决方案。窗口框架完全不同。尝试提出一种解决方案来编写两个解决方案会更加困难。

    至少在 Windows 上,我不相信您会很幸运地截取隐藏或被遮挡的窗口的屏幕截图。当您在网络上搜索此内容时,提出这个问题的人会点击数以万计。他们似乎都没有成功。如果您考虑 DWM 和 Aero 玻璃,那么我认为您成功的机会是有限的。

    【讨论】:

    • 我找到了这个:codeproject.com/KB/cs/… 但我还没有尝试过。我 99% 确信这不会是一个单一的、多平台的解决方案。我对此并不担心。我只是想知道是否有任何方法可以为 OS X 做到这一点。
    • 我对 OS X 一无所知。代码项目链接中的代码不会截取最小化窗口的屏幕截图,而是先恢复它!
    【解决方案2】:

    我会研究要求窗口将自身绘制成位图的可能性,而不是尝试用屏幕截图拍摄它的照片。这可能是一种使窗口最小化无关紧要的方法。类似于WM_PRINTWM_PRINTCLIENT 消息。我怀疑这实际上是那个人试图做的,他问了你链接到的原始问题。最大的陷阱是如果窗口没有适当地处理该消息。并非所有应用程序都表现得那么好。另外,我认为它不适用于真正隐藏的窗口,但我无法从您的问题和您链接到的大量文章中判断这是否是一个真正的问题。

    不幸的是,我对 OS X 编程也一无所知;我只是那个平台的用户。如果这对您来说真的很重要,您可以尝试深入研究 Qt 源代码,看看他们是如何跨平台实现的。

    【讨论】:

      猜你喜欢
      • 2022-07-09
      • 1970-01-01
      • 2013-09-05
      • 2011-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多