c++ - 使用c++和cygwin sshd服务的黑色截图

标签 c++ winapi cygwin screenshot sshd

尝试在 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/

相关文章:

c++ - libuv 中 sd-bus 的事件循环处理

windows - Cygwin 64 位 C 编译器缓存有趣(并且提前结束)

c++ - Qt如何修改windows系统时间?

c++ - 如何解决堆栈跟踪错误

java - Win 7下无法在Cygwin中启动Marathon测试

c++ - C++11 重载决议的奇怪案例

c++ - 声明从具有虚函数的基类派生的对象时出现错误 c2143 和 c4430

c++ - 在 C++ 中存储 n 位的 vector<bool> 的大小(以字节为单位)

c++ - 使用句柄从外部修改 Windows GUI 对象

c# - .NET 中非托管线程的异常