Reputation: 20554
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.
Upvotes: 1
Views: 698
Reputation: 120608
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).
Upvotes: 3