blessyou312的专栏

学习笔记

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中
 ......//将图像发出去
}

阅读更多
文章标签: c++ 图形 c#
上一篇VC实现程序的自动运行
下一篇VC实现BMP位图实现
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭