HBITMAP CopyScreenToBitmap(int &nWidth, int &nHeight){
//屏幕和内存设备描述表
HDC hScrDC, hMemDC;
//位图句柄
HBITMAP hBitmap, hOldBitmap;
//屏幕分辨率
int xScrn, yScrn;
//为屏幕创建设备描述表
//hScrDC = CreateDC(L"DISPLAY", NULL, NULL, NULL);
HWND hw=getHandle(1);
hScrDC= GetDC(hw);
//为屏幕设备描述表创建兼容的内存设备描述表
hMemDC = CreateCompatibleDC(hScrDC);
//获得屏幕分辨率
xScrn = GetDeviceCaps(hScrDC, HORZRES);
yScrn = GetDeviceCaps(hScrDC, VERTRES);
//存储屏幕的宽度
nWidth = xScrn;
nHeight = yScrn;
//创建一个与屏幕设备描述表兼容的 位图
hBitmap = CreateCompatibleBitmap(hScrDC, xScrn, yScrn);
//把新位图选到内存设备描述表中
hOldBitmap = (HBITMAP)SelectObject(hMemDC, hBitmap);
//把屏幕设备描述表拷贝到内存设备描述表中
BitBlt(hMemDC, 0, 0, xScrn, yScrn, hScrDC, 0, 0, SRCCOPY);
//得到屏幕位图句柄
hBitmap = (HBITMAP)SelectObject(hMemDC, hOldBitmap);
//清除
//DeleteDC(hScrDC);
ReleaseDC(hw,hScrDC);
DeleteDC(hMemDC);
//返回位图句柄
return hBitmap;
}
我想做个c++的屏幕找图程序,我找到这段代码,但是这个获得的好像是桌面的位图啊。