如何使用.NET捕获我的桌面video?

我想知道是否有办法捕获一个用.NET捕获我的桌面video(截屏video)? 我不是在寻找一个截屏软件,而只是一种技术,可以让我自己生成一个桌面video。

我想过拍多张截图,但我不知道如何以编程方式生成带有一系列图像的video……

有人有想法吗?

谢谢!

是的,有很多方法可以做到这一点。 这是一个使用WPF的非常简单的方法。 它有效,我以前用过它。

http://sofzh.miximages.com/c%23/“, IO.FileMode.OpenOrCreate) X.Save(FS, System.Drawing.Imaging.ImageFormat.Png) X.Dispose() FS.Close() Loop End Sub Public Shared Sub ClearRecording() If My.Computer.FileSystem.DirectoryExists(tempDir) Then _ My.Computer.FileSystem.DeleteDirectory(tempDir, FileIO.DeleteDirectoryOption.DeleteAllContents) My.Computer.FileSystem.CreateDirectory(tempDir) End Sub Public Shared Sub Save(ByVal Output As String) Dim G As New Windows.Media.Imaging.GifBitmapEncoder Dim X As New List(Of IO.FileStream) For Each Fi As String In My.Computer.FileSystem.GetFiles(tempDir, FileIO.SearchOption.SearchTopLevelOnly, “*.png”) Dim TempStream As New IO.FileStream(Fi, IO.FileMode.Open) Dim Frame = Imaging.BitmapFrame.Create(TempStream) X.Add(TempStream) G.Frames.Add(Frame) Next Dim FS As New IO.FileStream(Output, IO.FileMode.OpenOrCreate) G.Save(FS) FS.Close() For Each St As IO.FileStream In X St.Close() Next End Sub Public Shared Sub Start() snap = New System.Threading.Thread(AddressOf Snapshot) snap.Start() End Sub Public Shared Sub [Stop]() snap.Abort() End Sub Private Shared Function FormatString(ByVal S As String, ByVal places As Integer, ByVal character As Char) As String If S.Length >= places Then Return S For X As Integer = S.Length To places S = character & S Next Return S End Function End Class


这是使用Managed DirectX的另一种方法

http://www.mdxinfo.com/resources/screencapture.php

另一种资源:

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

我相信我之前使用DirectShowNet库做了类似的事情。 它可能会帮助你。