Как сделать снимок экрана с помощью python, если подключен к нескольким мониторам?
Я пробовал:
import sys
from PyQt4.QtGui import QPixmap, QApplication
app = QApplication(sys.argv)
QPixmap.grabWindow(QApplication.desktop().winId()).save('test.png', 'png')
import ImageGrab
im = ImageGrab.grab()
im.save('test.png', 'PNG')
Оба варианта предоставляют снимок экрана, только основной монитор
Если я использую winapi :
hWnd = win32gui.FindWindow(None, win_name)
dc = win32gui.GetWindowDC(hWnd)
i_colour = int(win32gui.GetPixel(dc,int(x),int(y)))
rgb = ((i_colour & 0xff), ((i_colour >> 8) & 0xff), ((i_colour >> 16) & 0xff))
Я получаю изображение из окна на втором мониторе. Но это будет очень медленно.
Если я нажму кнопку 'printscreen' в буфере обмена, будет обычный снимок экрана со всеми мониторами. Есть ли возможность чтобы получить полный снимок экрана в Python?