关闭

VC实现屏幕捕捉

746人阅读 评论(0) 收藏 举报

 /*以前写过一个在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中
 ......//将图像发出去
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:84194次
    • 积分:1459
    • 等级:
    • 排名:千里之外
    • 原创:58篇
    • 转载:8篇
    • 译文:0篇
    • 评论:11条
    文章分类
    最新评论