2015-09-10 66 views
-1

可以在WPF控件中顯示特定顯示的副本嗎?我需要將連接到電腦的顯示器鏡像到我的應用程序中的一個盒子中(類似電視上的PIP)。目前我正在使用DWM API和DwmRegisterThumbnail功能,它工作正常,但它只能處理特定的窗口作爲輸入,而不是整個屏幕,但我需要捕獲整個屏幕。我也嘗試使用Graphics.CopyFromScreen()來週期性地更新目標視圖,但它消耗了大量的CPU和內存+並不平滑。將特定屏幕鏡像到WPF控件中

回答

0

你應該可以使用Expression Encoder SDK來完成它。檢查  Microsoft.Expression.Encoder.ScreenCapture命名空間。

據我所知,用免費版本的表達式編碼器你有10分鐘的限制。

另一種選擇是DirectShow。它是本地庫,但有像.NET包裝器DirectShow.NET。檢查樣本here

這裏從codeproject其他幾個環節:

http://www.codeproject.com/KB/audio-video/Tanvon_DirectShowFilters.aspx

http://www.codeproject.com/KB/directx/directxcapture.aspx

沒有的DirectX:

http://www.codeproject.com/KB/audio-video/capvidscrn.aspx