2011-02-25 172 views
3

我需要截取當前隱藏的窗口,而不會將焦點放在該窗口上。我看到這個帖子,在這裏:Window screenshot using WinAPI隱藏窗口的屏幕截圖

我從來沒有使用過這種方法,所以任何建議非常感謝。

我希望能夠做到這一點無論是在Windows或OS X,是否有可能在OS X中做?它不一定需要用相同的語言或跨平臺,但當然,這是一個加號:)。

回答

0

很難想象您可以擁有一個可以在Windows和OS X上運行的解決方案。窗口框架完全不同。想要寫出一個寫兩個的解決方案會更困難。

至少在Windows上,我不相信你會有很多運氣拍攝隱藏或模糊窗口的截圖。當你在網上搜索這些信息時,有人會問這個問題,這個問題有很大的衝擊。他們都沒有成功。如果你考慮DWM和Aero玻璃,那麼我認爲你的成功機會是有限的。

+0

我發現這個:http://www.codeproject.com/KB/cs/CapturingMinimizedWindow.aspx?display=Print但我還沒有嘗試過。我99%肯定這不會是一個單一的多平臺解決方案。我並不擔心這一點。我只是想知道是否有任何方法可以爲OS X做這件事。 – wlindner 2011-02-25 19:53:23

+0

我對OS X一無所知。該代碼項目鏈接中的代碼沒有采用最小化窗口的屏幕截圖,它首先恢復它! – 2011-02-25 20:09:22

4

我會研究要求窗口將自己繪製成位圖的可能性,而不是試圖用截圖拍攝它的圖片。這可能是使窗口最小化的一種方式。類似於WM_PRINTWM_PRINTCLIENT消息。我懷疑這實際上就是這個人試圖做的事,他問了你連接的原始問題。最大的缺陷是如果窗口沒有適當地處理該消息。並不是所有的應用程序都如此乖巧。另外,我不認爲它適用於真正隱藏的窗口,但我無法從您的問題和您鏈接的文章亂七八糟的情況中知道這是否是真正的問題。

不幸的是,我對編程OS X也一無所知;我只是該平臺上的用戶。你可以嘗試深入Qt源代碼,看看他們是如何跨平臺的,如果這對你真的很重要。

+0

http://www.fengyuan.com/article/wmprint.html可能是相關的 – rogerdpack 2011-07-22 15:58:41