【发布时间】:2014-01-23 21:16:28
【问题描述】:
我见过this question,我遵循每一步,更改代码以满足我的要求,即 Python3、Pillow 和 ctypes。库越少越好。
import ctypes
from PIL import ImageGrab, Image
from io import BytesIO
user32 = ctypes.windll.user32
img = ImageGrab.grab()
output = BytesIO()
img.convert("RGB").save(output, "BMP")
data = output.getvalue()[14:]
output.close()
user32.OpenClipboard()
user32.EmptyClipboard()
user32.SetClipboardData(user32.CF_DIB, data)
user32.CloseClipboard()
这是从我的脚本中剥离的代码,我认为,与移植到我的要求的问题中的代码相同。执行时,它应该将当前桌面复制到剪贴板。我得到了这个:
File "C:\Users\Gcq\Documents\python\Screen\Screen.py", line 132, in shot
user32.OpenClipboard()
ValueError: Procedure probably called with not enough arguments (4 bytes missing)
很抱歉,我在这里问了这么一个(可能)简单的问题,但我真的不知道什么是失败的,ctypes 不是我的事。
【问题讨论】:
标签: python winapi python-imaging-library ctypes pillow