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

时间:2011-08-13 13:34:38

标签: java c++ automation awt

有一个应用程序是在SunAWTFrame类中构建的,正如您所猜测的,这是Windows API的一个奇怪世界。

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

是否有某种API或库可以实现这一点,适合在纯C ++或类似语言(不仅仅是Java)中工作?

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

java access bridge c#example:

[链接] https://github.com/jdog3/JavaAccessBridge.Net-Sample