从第 3 方 Qt Windows 应用程序读取内容

Jon*_*tti 5 python qt ui-automation

是否可以使用 python(或一般情况下)从外部 3rd 方 Qt (5) Windows 应用程序读取数据/文本?

我试过的:pywinauto,但它只能“看到”主窗口,而不是子窗口/控件。大多数UI检查工具也看不到表格的数据(检查spyxx accexplorer32 WinSpector WinDetective Uispy ....,Ranorox Spy可以看到TableContents,但它是一个商业工具,我只是试用了它。另外我不清楚如何将这些信息转换为 python 内容。我发现的最接近的问题是:How To Click On Telegram Contacts Menu With Pywinauto 我丢弃了评论中提到的https://github.com/parkouss/funq正如自述文件中所说,对于 Windows,它必须符合 libFunq,我想它不是。

小智 0

7年后回答...

我建议在 Python 中使用 OCR。您可以使用一些 Python 库自动截取页面屏幕截图,然后通过 OCR 来提取图像以提取文本。

然后您可以尝试过滤该文本以获取您想要的数据。

除此之外,没有其他方法了,因为您正在询问已经编译的第三方应用程序。

https://noob3xploiter.medium.com/game-hacking-with-python-and-cheat-engine-5000369e27b9

^ 这也是一篇好文章,虽然它适用于游戏,但您实际上可以使用相同的示例直接从 RAM/内存中获取文本。

可能会做类似使用作弊引擎查找文本在内存中保存的位置,然后抓取内存地址并将其放入Python之类的事情。(有一种方法可以让它工作,即使你关闭并再次打开应用程序,我只是不知道如何)。

所以,这是两种主要方法。

  1. 使用 python 进行 OCR

获取一个库来截取应用程序窗口的屏幕截图

下载库以从屏幕快照中获取文本 (OCR)

一个帮助自动单击按钮并浏览 UI 的库(可能是 pywinauto)

  1. 使用 Python 作弊引擎

您首先手动使用 Cheat Engine 来获取应用程序内存中保存字符串的位置。

即使您打开和关闭应用程序,您也必须学习如何使“作弊”起作用

您使用库将内存地址放入 Python 中,您应该能够获取那里保存的任何字符串。可能是偶数/浮点数或内存中保存的任何内容。我怀疑这些应用程序有反作弊功能,哈哈。