VC++实现GDI后台截图(非最小化)

Home / C++ MrLee 2014-12-18 6530

	HWND hWnd = (HWND)0x00090D64;
	CDC *pDC;//屏幕DC
	pDC = CDC::FromHandle(::GetDC(hWnd));//获取目标句柄DC
	CRect rt;
	::GetWindowRect(hWnd,rt);
	int Width = rt.Width();
	int Height = rt.Height();
	CDC memDC;//内存DC
	memDC.CreateCompatibleDC(pDC);
	CBitmap memBitmap, *oldmemBitmap;//建立和屏幕兼容的bitmap
	memBitmap.CreateCompatibleBitmap(pDC, Width, Height);
	oldmemBitmap = memDC.SelectObject(&memBitmap);//将memBitmap选入内存DC
	memDC.BitBlt(0, 0, Width, Height, pDC, 0, 0, SRCCOPY);//复制屏幕图像到内存DC
	//复制到粘贴板 
	OpenClipboard();
	EmptyClipboard();
	SetClipboardData(CF_BITMAP, memBitmap);
	CloseClipboard();

本文链接:https://www.it72.com/463.htm

推荐阅读
最新回复 (0)
返回