因此,我通过 WinSSHD(来自 Ubuntu)与 Windows XP 框建立了 SSH 会话。我编写了一个 Python 小程序,用 pywin32 截取屏幕截图。当我在正常的“桌面”会话中直接在 XP 机器上运行脚本时,一切正常,但如果我通过 SSH 进入并运行脚本,脚本将失败:
Traceback (most recent call last):
File "ss.py", line 38, in <module>
win32_ss()
File "ss.py", line 19, in win32_ss
cDC.BitBlt((0, 0),(w, h) , dcObj, (0, 0), win32con.SRCCOPY)
win32ui.error: BitBlt failed
我假设这是因为 SSH 会话与 XP 会话不同,并且无法访问“桌面”显示设备。我在 linux 中找到了有关如何执行此操作的参考(我认为这是我想要做的):
DISPLAY=:0.0 import -window root /tmp/shot.png
我想我正在寻找的是如何在 Windows 中执行此操作。同样,我使用的是 Python,可以安装任何需要的模块。我目前正在使用 pywin32,因为这比 PIL 快得多。