java - 如何从 Java 应用程序 (AWT) 中的外部控件获取文本(或自动化)?

标签 java c++ automation awt

有一个应用程序是在 SunAWTFrame 类中构建的,正如您可以猜到的,这对于 Windows API 来说是一个奇怪的世界。

所以我想知道,我应该做什么/使用什么来从使用此构建的 GUI 中的控件获取文本或自动化它们?

是否有某种 API 或库可以完成此任务并且适合在纯 C++ 或类似语言(不仅仅是 Java)中工作?

最佳答案

您的问题可能是由于 Java GUI 是一个 Swing GUI 程序(请注意,这些 GUI 的 MS Windows 类——至少我知道 JFrames 的类是“SunAWTFrame”),并且由于 Swing 使用轻量级组件,而不是 MS Windows native 组件,您将无法轻松地从中提取窗口信息。如果没有 Java 源代码,我不知道有什么简单的方法可以解决这个问题。

编辑 1
经过一番谷歌搜索后,我发现了新信息:

  • 您是否考虑过使用 Java Monkey 或 Java Ferret?
  • 或者也许最重要的是,Java Access Bridge其中“是一种在 Microsoft Windows DLL 中公开 Java Accessibility API 的技术,使实现 Java Accessibility API 的 Java 应用程序和小程序对 Microsoft Windows 系统上的辅助技术可见”

关于java - 如何从 Java 应用程序 (AWT) 中的外部控件获取文本(或自动化)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7050720/

相关文章:

c++ - wxWidgets 中基于对话框的应用程序和基于框架的应用程序有什么区别

java - 如何暂停@test的执行直到@BeforeSuit执行?

java - 如何使用不同的实现异步调用多个方法

java - node.js 和 Scala (Java) 之间的连接器

java - JVM 到底什么时候抛出 OutOfMemoryError

git - 为什么我不应该使用这个瓷器 Git 命令来判断我的存储库是否有任何更改?

c++ - 从 C/C++ 在 Trac 中自动添加票证的最简单方法

java - 如何使用 Play 防止浏览器缓存?

c++ - 为什么用nar-maven编译静态库时要加compiler option/MD?

c++ - 使用 C++ 或 LabView 读取和写入字段包含逗号的 .CSV 文件