Python中窗口中外部窗口的屏幕截图

时间:2014-03-04 11:27:45

标签: python qt screenshot win32gui

我发现了这个问题:Get screenshot on Windows with Python?

截取完整桌面的屏幕截图:

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')

但是,我想拍一张外部窗口的截图。 我有窗口的hwnd我想用win32gui关闭屏幕截图。

1 个答案:

答案 0 :(得分:2)

根据documentation for winId,返回的值取决于平台。

因此对于Windows来说,肯定必须(着名的遗言),返回hwnd,因此无需进一步转换。如果是,请尝试:

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

(PS:我现在已经在WinXP上测试了这个,它对我来说没问题。)