首页 > 代码库 > c++截取屏幕图片并保存(函数代码实现)

c++截取屏幕图片并保存(函数代码实现)

<strong>	//获取桌面窗体的CDC
	CDC *pdeskdc = GetDesktopWindow()->GetDC();  
	CRect re;
	//获取窗体的大小
	GetDesktopWindow()->GetClientRect(&re);
	CBitmap bmp;
	bmp.CreateCompatibleBitmap(pdeskdc , re.Width() , re.Height());
	//创建一个兼容的内存画板
	CDC memorydc;
	memorydc.CreateCompatibleDC(pdeskdc);

	//选中画笔
	CBitmap *pold = memorydc.SelectObject(&bmp);

	//绘制图像
	memorydc.BitBlt(0,0,re.Width() ,re.Height(), pdeskdc , 0 ,0 ,SRCCOPY) ;

	//获取鼠标位置,然后加入鼠标图像
	CPoint po;
	GetCursorPos(&po);
	HICON hinco = (HICON)GetCursor();
	memorydc.DrawIcon(po.x-10 , po.y - 10 , hinco);
	//选中原来的画笔
	memorydc.SelectObject(pold);
	BITMAP bit;
	bmp.GetBitmap(&bit);
//	DWORD size = bit.bmWidth * bit.bmHeight ;

	//定义 图像大小(单位:byte)
	DWORD size = bit.bmWidthBytes * bit.bmHeight ;
	LPSTR lpdata = http://www.mamicode.com/(LPSTR)GlobalAlloc(GPTR , size) ;>