MFC屏幕录制程序编写

这篇博客介绍了如何使用MFC结合AVI视频处理函数来编写屏幕录制程序。通过添加定时器消息、获取桌面图像、压缩并保存到AVI文件,实现了屏幕的实时录制。同时,还包含了启动、停止和暂停录制的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 源代码:http://download.youkuaiyun.com/detail/nuptboyzhb/4136686

 

新增头文件及全局变量:

#include<math.h>//数学函数库的头文件

#include<Vfw.h>//增加AVI视频处理函数的头文件

#pragma comment(lib,"Vfw32.lib")//连接库Vfw32.lib

#pragma comment(lib,"Winmm.lib")//链接库

//定义AVI视频处理函数所需的结构体变量

AVISTREAMINFO strhdr;

PAVIFILE pfile;

PAVISTREAM ps;

PAVISTREAM pComStream;

AVICOMPRESSOPTIONS pCompressOption;  

AVICOMPRESSOPTIONS FAR * opts[1] = {&pCompressOption};

HRESULT hr;

int nFrames = 0; //定义视频中帧的个数

BOOL m_timer=TRUE;//定时器运行状态标志

UINT timer_num=0;//标记定时器的名称

BOOL m_IsPause=FALSE;//是否暂停标志

增加OnTimer定时器消息

         // TODO: Add your message handler code here and/or call default

         if(m_timer)//如果上一次的定时器程序已经运行完,才执行下面的代码

         {

         m_timer=FALSE;//本次定时,正在运行,未结束前,不得进行下次运行

         CDC* pDeskDC =GetDesktopWindow()->GetDC();//获取桌面画布对象

         CRect rc;

         GetDesktopWindow()->GetClientRect(rc);//获取屏幕的客户区域

        

         CDC  memDC;//定义一个内存画布

         memDC.Creat

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值