2009-11-05 55 views
0

您好,
我已經在C#中編寫了一個程序,以在屏幕上截取矩形區域的屏幕截圖。但是我似乎無法從Adobe AIR應用程序捕獲信息。相反,下面的應用程序是我最終得到的。 C#截圖程序無法「看到」Adobe AIR程序

動作的肉圍繞着System.Drawing.Graphics.CopyFromScreen旋轉 - 傳入左上角的點和大小並抓住該區域。到目前爲止,我還沒有遇到任何其他問題,包括網頁中的Flash動畫。

我真的不知道在哪裏看,我的谷歌搜索導致我相信我是唯一遇到過這種情況的人。 :O

任何想法?

回答

1

使用打印屏幕鍵在Windows剪貼板上截取Adobe AIR應用程序的屏幕截圖。將屏幕截圖粘貼到MS Paint中。如果在屏幕截圖中沒有看到Adobe AIR,那麼這是一個加速問題 - Adob​​e AIR對其所有渲染都使用硬件加速表面(即DirectX或OpenGL),這意味着它在軟件屏幕緩衝區中不存在(有些方法可以在其他應用程序中對加速曲面進行截圖,但這會變得非常專業化)。

+0

很好的一點。我們正在使用AIR應用程序的某些設置(這些都是在內部生成的)。我會調查這些選項是否將它推向加速表面。 – Messy 2009-11-05 20:40:27

+0

我的發現至今一直保持一致 - 任何帶有自定義chrome的AIR應用程序都不能正常屏蔽,但使用標準windows chrome的任何內容都可以以通常方式捕獲。再次感謝! - 這給了我一個開始尋找的地方 – Messy 2009-11-05 20:54:35

1

這不會幫助你,但我只是扔了一個快速的WinForms應用程序來嘗試它,我能夠使用CopyFromScreen函數截取TweetDeck的屏幕截圖。

+0

我只嘗試過我們公司內部構建的應用程序。我會調查外部的。謝謝。 – Messy 2009-11-05 20:39:06

+0

是的,我可以截圖tweetdeck。我們使用無鉻AIR窗口。我會看看這個與它有什麼關係 – Messy 2009-11-05 20:44:15