2011-08-30 61 views
3

我啓動一個進程(iexplore.exe),我得到processID並使用p.mainWindowHandle來獲取窗口。.net視頻記錄與窗口句柄

現在我想在視頻文件中記錄該特定的窗口。我知道如何在圖像文件中捕捉單個幀。

將所有這些位圖合併到一個AVI文件我自己還是有更好/更快的解決方案是一個好主意?我正在使用C#

我已經看過一些屏幕錄像機SDK的存在,但他們收取可笑的金額。

回答

2

暫時我使用Aforge的AVIWriter有增加了一個幀的AVI文件的計時器:

 writer = new AVIWriter("MSVC"); 
     writer.Open("test.avi", 400, 400); 

     Bitmap b = new Bitmap(width, height); 

     Graphics g = Graphics.FromImage(b); 
     IntPtr hdc = g.GetHdc(); 
     bool result = PrintWindow((IntPtr)observedProcess.MainWindowHandle, hdc, 0); 
     g.ReleaseHdc(); 
     g.Flush(); 

     Bitmap resized = ResizeImage(b, 400, 400); 

     writer.AddFrame(resized); 
+0

EHI @Jochen,不回答你的問題:編輯你的問題的代碼擴展它你正在使用... – Marco