如何捕获正在运行的程序的屏幕输出?

尤汉·D

是否可以从另一个python程序中获取正在运行的程序(带有GUI)的屏幕截图?如果是这样,我可以使用哪些步骤和库?(在Windows上)

例如,假设我正在运行calc.exe。我想截取从myprogram.py向用户显示的屏幕截图。

我的目标是分析受监视程序中显示的内容。

如果无法将屏幕截图隔离到正在运行的预定义程序中,我想我将必须拍摄全屏屏幕截图,但这不是很实用。

佩德罗·韦内克

捕获屏幕截图很容易。只需安装Python Imaging Library,然后使用该ImageGrab.grab()函数返回带有屏幕截图的Image实例。

捕获指定的窗口要复杂一些,因为您需要窗口坐标。我建议您安装win32api模块并使用一个名为winGuiAuto.py的小模块完成此操作后,您可以执行以下操作:

hwnd = winGuiAuto.findTopWindow(title)
rect = win32gui.GetWindowPlacement(hwnd)[-1]
image = ImageGrab.grab(rect)

但是,捕获屏幕是容易的部分。如果您想分析屏幕快照中的内容,那么您会遇到很多麻烦。这可能是做您想做的事情的错误方法,应该留给万不得已。

在大多数情况下,使用Windows API来直接读取窗口元素的内容会更容易,但不适用于某些第三方GUI工具包。这不在您的问题范围之内,因此在此不做详细说明,但是您应该阅读上述winGuiAuto.py模块的源代码,以获取有关如何执行此操作以及检查pywinauto库的示例

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何捕获正在运行的程序的屏幕输出?

来自分类Dev

Bash捕获正在运行的脚本的输出

来自分类Dev

如何重定向正在运行Valgrind的程序的输出?

来自分类Dev

如何重定向正在运行Valgrind的程序的输出?

来自分类Dev

android的应用程序屏幕如何恢复正在运行的活动?

来自分类Dev

如何在Unity的当前虚拟屏幕上直观地查看正在运行哪些程序?

来自分类Dev

如何修复“正在运行的应用程序”屏幕上的图标?

来自分类Dev

如何踢出正在运行的程序?

来自分类Dev

apt如何升级正在运行的程序?

来自分类Dev

Windows CMD:如何将正在运行的程序输出传递给FINDSTR并写入文件

来自分类Dev

如何将正在运行的程序的输出重定向到/ dev / null

来自分类Dev

如何使用仍在运行的程序自动发送命令并捕获输出?

来自分类Dev

Java代码获取正在运行的程序的输出

来自分类Dev

如何从正在运行的JVM中捕获堆转储

来自分类Dev

如何捕获正在运行的Shell脚本的原始命令?

来自分类Dev

如何捕获正在运行的Shell脚本的原始命令?

来自分类Dev

我如何“窥视”正在运行但分离的屏幕?

来自分类Dev

如何检查屏幕会话是否正在运行?

来自分类Dev

如何更改正在运行的进程的输出重定向?

来自分类Dev

如何比较正在运行的进程的输出?

来自分类Dev

如何从正在运行的进程中获得直接输出?

来自分类Dev

我该如何判断看似正在运行的程序的状态

来自分类Dev

我如何检测正在运行的特定应用程序

来自分类Dev

如何找到正在运行的终端程序的进程ID(PID)?

来自分类Dev

如何通过python脚本从正在运行的Windows程序退出?

来自分类Dev

如何找到正在运行的终端程序的进程ID(PID)?

来自分类Dev

如何列出所有正在运行的守护程序?

来自分类Dev

如何找出正在运行的程序的命令行参数?

来自分类Dev

如何确定具有root特权的程序正在运行?

Related 相关文章

  1. 1

    如何捕获正在运行的程序的屏幕输出?

  2. 2

    Bash捕获正在运行的脚本的输出

  3. 3

    如何重定向正在运行Valgrind的程序的输出?

  4. 4

    如何重定向正在运行Valgrind的程序的输出?

  5. 5

    android的应用程序屏幕如何恢复正在运行的活动?

  6. 6

    如何在Unity的当前虚拟屏幕上直观地查看正在运行哪些程序?

  7. 7

    如何修复“正在运行的应用程序”屏幕上的图标?

  8. 8

    如何踢出正在运行的程序?

  9. 9

    apt如何升级正在运行的程序?

  10. 10

    Windows CMD:如何将正在运行的程序输出传递给FINDSTR并写入文件

  11. 11

    如何将正在运行的程序的输出重定向到/ dev / null

  12. 12

    如何使用仍在运行的程序自动发送命令并捕获输出?

  13. 13

    Java代码获取正在运行的程序的输出

  14. 14

    如何从正在运行的JVM中捕获堆转储

  15. 15

    如何捕获正在运行的Shell脚本的原始命令?

  16. 16

    如何捕获正在运行的Shell脚本的原始命令?

  17. 17

    我如何“窥视”正在运行但分离的屏幕?

  18. 18

    如何检查屏幕会话是否正在运行?

  19. 19

    如何更改正在运行的进程的输出重定向?

  20. 20

    如何比较正在运行的进程的输出?

  21. 21

    如何从正在运行的进程中获得直接输出?

  22. 22

    我该如何判断看似正在运行的程序的状态

  23. 23

    我如何检测正在运行的特定应用程序

  24. 24

    如何找到正在运行的终端程序的进程ID(PID)?

  25. 25

    如何通过python脚本从正在运行的Windows程序退出?

  26. 26

    如何找到正在运行的终端程序的进程ID(PID)?

  27. 27

    如何列出所有正在运行的守护程序?

  28. 28

    如何找出正在运行的程序的命令行参数?

  29. 29

    如何确定具有root特权的程序正在运行?

热门标签

归档