1. 程式人生 > >Windows桌面共享中一些常見的抓屏技術

Windows桌面共享中一些常見的抓屏技術

每個DirectX程式都包含一個被我們稱作緩衝的記憶體區域,其中儲存了和該程式有關的視訊記憶體內容,這在程式中被稱作後臺緩衝(Back Buffer),有些程式有不止一個的後臺緩衝。還有一個緩衝,在預設情況下每個程式都可以訪問-前臺緩衝。前臺緩衝儲存了和桌面相關的視訊記憶體內容,實質上就是螢幕影象。 我們的程式通過訪問前臺緩衝就可以捕捉到當前螢幕的內容。上面的列子中也包含該方法的實現, 是基於DirectX9的,我們可以參考下, 據我測試該方法在DWM開啟的情況下抓整屏也要30ms左右。Vista之後的DirectX 10/11相對於DirectX 9 已經發生非常大的變化, 直接用新的介面上面的程式碼未必能正常工作。