Question

I found this question : Get screenshot on Windows with Python?

to take a screenshot of the full desktop:

import sys
from PyQt4.QtGui import QPixmap, QApplication
from datetime import datetime

date = datetime.now()
filename = date.strftime('%Y-%m-%d_%H-%M-%S.jpg')
app = QApplication(sys.argv)
QPixmap.grabWindow(QApplication.desktop().winId()).save(filename, 'jpg')

However, I would like to take a screenshot of an external window. I have the hwnd of the window I want to take the screenshot off using win32gui.

Était-ce utile?

La solution

According to the documentation for winId, the returned value is platform dependent.

So for Windows, it surely must (famous last words), return a hwnd and thus need no further conversion. If so, then try:

    QPixmap.grabWindow(hwnd).save(filename, 'jpg')

(PS: I have actually tested this now on WinXP, and it works okay for me).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top