你好 Stack Overflow 用户。似乎我没有在以下代码中正确使用 CreateCompatibleBitmap() :
#include <windows.h>
using namespace std;
int main() {HDC hdc=GetDC(HWND_DESKTOP); HDC MemDC=CreateCompatibleDC(hdc);
HBITMAP hBit=CreateCompatibleBitmap(hdc,1366,768);
SelectObject(MemDC,hBit);
BitBlt(hdc,0,0,1366,768,MemDC,0,0,SRCCOPY); //Screen turns black
DeleteObject(hBit);
ReleaseDC(HWND_DESKTOP,hdc);
ReleaseDC(NULL,MemDC);
DeleteDC(MemDC);
DeleteDC(hdc);
}
我以为 CreateCompatibleBitmap() 是返回 Desktop DC 的 1366x768 部分,但在 BitBlt() 之后显示黑屏。我没有使用 CreateCompatibleBitmap,而是将位图文件加载到 hBit 中,一切都如愿以偿,所以我猜问题仅出在 CreateCompatibleBitmap() 上。我是否正确使用此功能?有什么我没有做但我应该做的事情吗?