(获取桌面位图的实现)
#include <scrnsave.h>
Bitmap * gBit = NULL;
void CaptureScreen()
{
int nScreenWidth = GetSystemMetrics(SM_CXSCREEN);
int nScreenHeight = GetSystemMetrics(SM_CYSCREEN);
HWND hDesktopWnd = GetDesktopWindow();
HDC hDesktopDC = GetDC(hDesktopWnd);
HDC hCaptureDC = CreateCompatibleDC(hDesktopDC);
HBITMAP hCaptureBitmap =CreateCompatibleBitmap(hDesktopDC,
nScreenWidth, nScreenHeight);
SelectObject(hCaptureDC,hCaptureBitmap);
BitBlt(hCaptureDC,0,0,nScreenWidth,nScreenHeight,hDesktopDC,0,0,SRCCOPY);
// SaveCapturedBitmap(hCaptureBitmap);
//gBit->FromHBITMAP(hCaptureBitmap,NULL);
if(gBit == NULL)
gBit= Bitmap::FromHBITMAP(hCaptureBitmap,NULL);
ReleaseDC(hDesktopWnd,hDesktopDC);
DeleteDC(hCaptureDC);
DeleteObject(hCaptureBitmap);
}
本文详细介绍了如何使用C++获取桌面位图的过程,包括获取屏幕尺寸、创建设备上下文、创建位图、进行位图拷贝以及释放资源等关键步骤。
&spm=1001.2101.3001.5002&articleId=8209596&d=1&t=3&u=5bfafdfaf87446aba6ddd43e99feb947)
239

被折叠的 条评论
为什么被折叠?



