Skopiuj obraz PIL / PILLOW do schowka Windows
widziałemto pytanie i śledziłem każdy krok, zmieniając kod, aby spełnić moje wymagania, czyli Python3, Pillow i ctypes. Im mniej bibliotek, tym lepiej.
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()
To jest pozbawiony kodu z mojego skryptu, który, myślę, jest tym samym kodem w pytaniu dostosowanym do moich wymagań. Po wykonaniu powinien skopiować bieżący pulpit do schowka. Zamiast tego dostaję:
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)
Przykro mi, że zadaję tutaj takie (prawdopodobnie) łatwe pytanie, ale naprawdę nie wiem, co zawodzi, a ctypes to nie moja sprawa.