Python 捕获另一个 Windows GUI 程序的输出

0 投票
2 回答
2151 浏览
提问于 2025-04-16 16:52

情况是这样的:我想在我的Python程序中捕捉到IPmsg.exe的弹出窗口。

有一个简单的方法,就是从日志文件中读取信息。但我想知道有没有办法不涉及日志文件的情况下做到这一点。关于IPmsg.exe的更多信息,可以查看这个链接:http://ipmsg.org/index.html.en

这就是我想说的具体内容。 那么,针对捕捉一个基于Windows的图形界面程序的输出,有什么通用的方法呢?

2 个回答

1

你只能通过Python捕获那些你直接从Python启动的应用程序的输出,比如使用subprocess模块:

http://docs.python.org/library/subprocess.html

否则,你几乎没有机会读取其他应用程序的直接输出。

1

在Windows上与图形界面程序交流,通常有两种方法,如果你不喜欢查看日志文件的话:

  1. 使用它们的命令行界面!不过我怀疑这个界面是否能把消息直接输出到标准输出。
  2. 使用win32 API或者它的封装库,去寻找特定的窗口(可以定期检查或者安装钩子来知道它们何时出现),然后通过更多的API调用从这些窗口中获取文本。可以参考这个问题:从弹出窗口获取文本

顺便说一下,使用日志文件会简单得多,值得点赞。

撰写回答