У меня проблема при попытке сделать снимок экрана с помощью c ++ на Windows XP.
Код похож на этот:
hDc = CreateCompatibleDC(0);
hBmp = CreateCompatibleBitmap(GetDC(0), width, height);
HGDIOBJ obj = SelectObject(hDc, hBmp);
BitBlt(hDc, 0, 0, width, height, GetDC(0), 0, 0, SRCCOPY);
Он нормально работает на машине нормально, но когда я вхожу с ssh в оболочку cygwin, я просто получаю черный скриншот с тем же кодом,BitBlt
возвращает 0, а GetLastError
возвращает 6, что указывает на недопустимый дескриптор.Но ни один из дескрипторов не равен 0. Итак, как я могу заставить эту работу работать, я немного растерялся относительно того, в чем именно заключается проблема.