C# 截图程序无法“看到”Adobe AIR 程序

Posted

技术标签:

【中文标题】C# 截图程序无法“看到”Adobe AIR 程序【英文标题】:C# screenshot program cannot "see" Adobe AIR programs 【发布时间】:2009-11-05 19:42:02 【问题描述】:

你好, 我用 C# 编写了一个程序来截取屏幕上的矩形区域。但是我似乎无法从 Adob​​e AIR 应用程序中捕获信息。相反,下面的应用程序是我最终得到的。

动作的核心围绕 System.Drawing.Graphics.CopyFromScreen - 传递相当于左上角的点和大小并抓住该区域。到目前为止,我对其他任何事情都没有任何问题,包括网页中的 Flash 电影。

我真的不知道去哪里找,我的谷歌搜索让我相信我是唯一遇到过这种情况的人。 :O

有任何想法吗?

【问题讨论】:

【参考方案1】:

使用打印屏幕键在 Windows 剪贴板上截取 Adob​​e AIR 应用程序的屏幕截图。将屏幕截图粘贴到 MS Paint 中。如果您在屏幕截图中没有看到 Adob​​e AIR,那么这是一个加速问题 - Adob​​e AIR 使用硬件加速表面(即 DirectX 或 OpenGL)进行所有渲染,这意味着它不存在于软件屏幕缓冲区中(有一些方法可以在其他应用程序中截取加速表面的屏幕截图,但这非常专业)。

【讨论】:

非常好的观点。我们在我们的 AIR 应用程序上使用某些设置(这些都是内部生成的)。我会调查这些选项是否会将其推向加速表面。 到目前为止我的发现是一致的 - 任何具有自定义 chrome 的 AIR 应用程序都无法正常筛选,但任何使用标准 windows chrome 的应用程序都可以以通常的方式捕获。再次感谢! - 这给了我一个开始寻找的地方【参考方案2】:

这对你没有帮助,但我只是拼凑了一个快速的 WinForms 应用程序来尝试它,我能够使用 CopyFromScreen 函数截取 TweetDeck 的屏幕截图。

【讨论】:

我只试用了我们公司内部构建的应用程序。我会调查外部的。谢谢。 是的,我可以截屏 tweetdeck。我们使用无铬 AIR 窗口。我会看看这是否与它有关

以上是关于C# 截图程序无法“看到”Adobe AIR 程序的主要内容,如果未能解决你的问题,请参考以下文章

Adobe AIR - 自签名应用程序可以吗?

在ios中的Adobe air全屏

Adobe AIR 和 iPhone - 它是如何工作的?

Adobe AIR 可以显示 SVG 吗?

Adobe AIR-无法为签名者建立有效的证书链

Adobe ANE 适用于 iOS 和 Android 设备,但不适用于 AIR 模拟器