c# - 带窗口句柄的 .net 视频记录

标签 c# .net video-capture

我启动一个进程 (iexplore.exe),我获取进程 ID 并使用 p.mainWindowHandle 获取窗口。

现在我想在视频文件中记录那个特定的窗口。我知道如何捕捉图像文件中的单个帧。

自己将所有这些位图合并到一个 avi 文件中是个好主意还是有更好/更快的解决方案?我正在使用 C#

我见过一些屏幕录像机 SDK,但它们收取的费用高得离谱。

最佳答案

目前我正在使用 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);

关于c# - 带窗口句柄的 .net 视频记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7248342/

相关文章:

c# - 使用javascript显示错误消息而不使用警告框

c# - 创建文件夹以保存在临时文件中

.net - 如何立即退出 Windows Forms .NET 应用程序?

c# - 当我们开始使用 Accord 捕获视频时,CPU 和内存消耗会变高

c# - 如何窃取另一个应用程序的视频(通过 hwnd)并在单独的应用程序中显示

c# - 在C#中查找较大字符串中子字符串的所有位置

c# - 在 C# 或 Unity 中执行 Python 脚本

.net - 运行时的集合编辑器

c# - 如何从使用其他语言的项目中隐藏不符合 CLS 的代码?

java - 如何将图形内容捕获为图像