2009-11-26 156 views
0

我想截取所有打開的窗口,也是最小化的截圖。目前我正在使用此代碼: http://www.developerfusion.com/code/4630/capture-a-screen-shot/窗口的屏幕截圖

但是它不適用於最小化窗口以及由於Vista等瀏覽器標題欄爲黑色而產生Glass效果的區域。誰能幫我嗎?

我的目標是創造類似於Flip 3D的東西;如果某人也知道如何創建實時預覽會很棒。

+0

不明白這裏的近距離投票,它怎麼不是編程相關的? – Benjol 2009-11-26 13:19:26

+0

找到了一個很好的解決方案,它允許實時預覽: http://msdn.microsoft.com/en-us/library/aa969541%28VS.85%29.aspx – eWolf 2009-11-26 18:05:04

+0

@Jon Seigel:你爲什麼花時間編輯我的去年的問題只是爲了消除問候? oO – eWolf 2010-03-20 22:42:20

回答

1

對於玻璃效果區域:我認爲它不起作用,因爲這些區域可能會用一些奇怪的DirectX方法而不是普通的GDI繪製。對於最小化窗口問題:如果一個窗口被最小化,其DC不會被繪製(概念上,它甚至沒有理由存在);你應該嘗試發送WM_PRINT消息給這樣的窗口,要求他們自己繪製你將提供給他們的DC。這種方法的問題是不是所有的窗口都能正確處理WM_PRINT。

+0

'WM_PRINT'通常不適用於最小化窗口,因爲窗口在最小化時沒有正常大小。 – 2013-12-30 21:07:04