0

我正在编写 C++ 代码来自动截取我最喜欢的游戏的屏幕截图。我的部分代码如下所示:

SelectObject(hCDC, shot);
BitBlt(hCDC, 0, 0, WIDTH, HEIGHT, hDDC, 0, 0, SRCCOPY);
SelectObject(hCDC, oldBitmap);
Bitmap shotBitmap(shot, NULL);

我之前已经初始化了相关变量,如下所示:

HDC hDDC = GetDC(handle);
HDC hCDC = CreateCompatibleDC(hDDC);
HBITMAP shot = CreateCompatibleBitmap(hDDC, WIDTH, HEIGHT);
HBITMAP oldBitmap = (HBITMAP) SelectObject(hCDC, shot);

没有明显的原因,代码在 BitBlt 函数处挂起,直到某些(但我不知道是什么)更新。我在游戏中单击一个按钮或单击游戏外的一个窗口的毫秒数,BitBlt 完成,其余代码完美执行。神秘的是,我最近才遇到这个问题;它以前从未发生过。更神秘的是,它只发生在我的笔记本电脑上,而不是我朋友的笔记本电脑上。会发生什么?

4

0 回答 0