VC实现屏幕捕捉

 /*以前写过一个在C#下面的屏幕捕捉程序,现在用C++在VC下实现.个体步骤:
1.获取桌面窗口指针,并建立一个与之兼容的设备环境
2.创建一个与桌面窗口指针相兼容的内存位图
3.以位图形式将屏幕图像复制到新创建的位图之中*/

char dot[1572864];       //1024*768*2
CBitmap bmp;             //内存位图
CDC wdc;                 //设备环境
CDC* pDC;                //指向桌面窗口的设备环境指针
......
void CSurveillant_ServerView::OnInitialUpdate()
{
 ........
 static CWindowDC ddc(GetDesktopWindow());  //引用桌面窗口指针定义对象ddc
 pDC=&ddc;                                  //将指针pdc指向ddc
 wdc.CreateCompatibleDC(pDC);               //建立与ddc兼容的设备环境
 bmp.CreateCompatibleBitmap(pDC,1027,768);  //建立与ddc兼容的位图
 wdc.SelectObject(&bmp);                    //选择位图
 StartServer();               //开启一下定时器,定时调用CDC类成员的BitBlt()捕获现
                              //主机的屏幕信息,并随即将其通过一个建立了连接的套结字
                              //发送给客户机。
}
void CSurveillant_ServerView::OnTimer(UINT nIDEvent)
{
 wdc.BitBlt(0,0,1024,768,pDC,0,0,SRCCOPY);//把桌面复制到wdc的bmp中
 ......//将图像发出去
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值