尝试在 Windows XP 上使用 C++ 捕获屏幕截图时遇到问题。
代码类似这样:
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 shell 时,我只得到一个运行相同代码的黑色屏幕截图。 BitBlt
返回 0,GetLastError
返回 6,表示句柄无效。但是没有一个句柄是 0。那么我怎样才能完成这项工作,我对问题到底是什么感到有点迷茫。
最佳答案
当您通过 SSH 登录到 Cygwin 时,您没有屏幕(至少没有一个 Windows 知道如何看到):您只有 sshd 服务 - 所以您不能截屏。
关于c++ - 使用c++和cygwin sshd服务的黑色截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5597193/