问题标签 [java-access-bridge]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1368 浏览

java - 发现异常 java“java.awt.AWTError:Assistive Technology not found”

我的应用程序在 JRE-6 64 位上运行。我使用以下方法启用 Java 的辅助技术:

但是 JRE 6 路径中不存在 JavaAccessBridge-64.dll、JAWTAccessBridge-64.dll 和 WindowsAccessBridge-64.dll 的文件。

我尝试自定义“java.library.path”路径,我下载java访问桥并将文件夹路径附加到“java.library.path”中。

我写下面的代码,

发现以下异常。

线程“主”java.awt.AWTError 中的异常:未找到辅助技术:com.sun.java.accessibility.AccessBridge at java.awt.Toolkit.loadAssistiveTechnologies(Toolkit.java:773) at java.awt.Toolkit.getDefaultToolkit( Toolkit.java:872) 在 Automation.MyToolKit.main(MyToolKit.java:73)

是否可以从不同位置加载此 dll 而不是复制到 JRE 文件夹?

0 投票
0 回答
159 浏览

java - 如何以编程方式将 Java Access Bridge 类加载到 JVM 中?

我想在运行时启用 Java Access Bridge。

因此,为相同的 Java 代理创建将注入所选 JVM 的 Java 代理。但我想在运行的 Java 应用程序中将 Java Access Bridge 加载到 JVM 中。

0 投票
0 回答
172 浏览

java - 调用 JavaAccessBridge.dll 的运行 api 时 Java 代理崩溃

我想以编程方式启用 Java 辅助技术。为此,我遵循以下步骤:

1) 创建 Java 代理以注入任何正在运行的 Java 应用程序 VM。

2) 使用三个 API 调用创建 C++ DLL,以启用辅助技术。

JavaAccessBridge-64.dll

JAWTAccessBridge-64.dll

3) 我的 .net 应用程序将调用这个 C++ DLL 来捕获 Java 屏幕。

在 Java Access Bridge 中调用运行 API 时发现致命错误。

0 投票
1 回答
1236 浏览

java - 如何使用 Java Access Bridge 自动化 Java Applet?

我需要自动化位于仅 IE 网站内的 Java Applet。我知道我可以使用Java Access Bridge与 Java 应用程序进行交互,但是我在找出如何将它连接到 Applet 时遇到了麻烦。

我知道一个 Java Bridge 方法GetAccessibleContextFromHWND(..),我认为我可以使用它。FindWindow(..)不幸的是,当我使用 Spy++ 尝试获取 Applet 的 HWND 时,我返回空白,因此使用通常的Windows API 函数似乎无法做到这一点。

如何使用 Java Access Bridge 访问和控制 Java Applet?

0 投票
1 回答
3618 浏览

automation - BluePrism Java 应用程序:监视元素索引时出错,索引超出了数组的范围

System.ApplicationException:获取 Java Identfier KeyBindings 异常的异常:索引超出了数组的范围。在 BluePrism.AMI.clsAMI.Spy(clsElementTypeInfo& elementType, List`1& identifiers) 在 Automate.frmIntegrationAssistant.HandleSpyOrLaunchClick(Object sender, EventArgs e)

操作系统:Win 7 64位

我的机器安装了以下版本的java

jdk1.7.0_80

jre1.7.0_80

Java 访问桥 2.0.2

目标应用编译于:

jdk1.7.0_80

注意: 当我第一次做间谍时,我可以毫无问题地获取属性。下次进行间谍活动时会引发错误。

0 投票
2 回答
1398 浏览

c# - 使用 C# 实现 Java 自动化的 WindowsAccessBridge

我尝试使用WindowsAccessBridge.dll.

我可以获得窗口句柄,但调用函数isJavaWindow(System.IntPtr hWnd)总是返回false

请在下面找到我的代码:

互操作:

该功能FindWindow运行完美,我也得到了 Spy++ 向我展示的窗口句柄。类名SunAwtFrame正如 Spy++ 所说。

我的 Java 应用程序以 64 位运行,但我尝试了所有库(-32、-64),并且还在 VS 配置管理器中从 x86 切换到 x64 并返回。

AccessBridge 本身运行良好——Java-Monkey-64.exe 可以监视我正在运行的 Java 应用程序。

有谁知道,为什么这不起作用?

问候,扬

0 投票
0 回答
2697 浏览

java - Java 访问桥 - 无法在 Blue prism 中监视 Java 应用程序

当我尝试从应用程序建模器启动 Java 应用程序时,出现以下错误: “错误 - 无法启动应用程序 - 无法初始化 Java Access Bridge 支持 - 无法加载 Java Access Bridge DLL。在任何文件中都找不到该文件以下预期位置 - 应用程序目录:C:\Program Files\Blue Prism Limited\Blue Prism Automate\WindowsAccessBridge-32.dll 系统目录:C:\Windows\SysWOW64\WindowsAccessBridge-32.dll"

然后我下载了java access bridge 2.0.2并将dll “WindowsAccessBridge-32.dll”复制到“C:\Windows\SysWOW64”路径并从cmd启用JAB,然后它就可以工作了。但仍然无法窥探 java 元素。jre版本是1.6。有什么想法吗?还是我错过了什么?

斯里吉特

0 投票
1 回答
76 浏览

java - 在 JRE 8 中运行 java 1.4 时的 JAVA Access Bridge 版本

如果我没记错 Java 的旧版本,例如在 1.4 上运行的 Oracle Forms,在 JVM 8 中运行时仍然可以工作。

但我的问题与 Java Accessibility 有关。我正在努力使 Oracle Forms 公开其元素。因此,我想知道运行 Oracle Forms 1.4 的 JRE 是否需要我拥有适用于 1.4 的 Java Access Bridge?

我不确定这部分是如何工作的,非常感谢任何帮助!

0 投票
1 回答
631 浏览

java - 如何从 Windows 10 PC 上卸载损坏的 Java 辅助技术 - AccessBridge

我的公司销售的 Java 应用程序神秘地停止为我们的一位客户工作。它一直在工作,但现在无法启动。他在尝试启动应用程序时遇到的错误是:“java.awt.AWTError: Assistive Technology not found...”。我已经研究过这个问题,我认为这是由其他一些 java 应用程序错误地安装了“java se accessbridge”并最终破坏了他 PC 上的所有 java 应用程序引起的。看:

https://www.avnirvana.com/threads/java-install-error-any-ideas-on-the-fix.2178/

线程“主”java.awt.AWTError 中的异常:未找到辅助技术:com.sun.java.accessibility.AccessBridge 错误

https://docs.oracle.com/javase/accessbridge/2.0.2/setup.htm#uninstalling-jab

我让客户卸载了我们的应用程序,卸载了他 PC 上的所有 Java 副本,并删除了在 '%WINDOWSHOME%\SYSWOW64' 和 '%WINDOWSHOME%\SYSTEM32' 中找到的所有 WindowsAccessBridge.dll 副本。现在,当他尝试重新安装我们的应用程序时,他从 Install4j 收到了同样的错误。我没有要求他尝试重新安装 Assistive Technology-AccessBridge,因为我们的应用不需要它,而且安装看起来很复杂,需要一些手动步骤。

似乎有一种解决方法。根据这篇文章: https ://deciphertools.com/blog/2016-05-09-assistive-technology-not-found/

您可以通过添加以下内容来阻止 jre 加载 AccessBridge:

到应用程序的 vmoptions 文件。我会让他将此添加到我们的 vmoptions 文件中,但他无法让安装程序运行,因为它得到了相同的错误。

我的问题是双重的: 我可以让客户做些什么来移除 Assistive Technology-AccessBridge?

如果做不到这一点,我该如何修改 install4j 的 vmoptions 文件,以便他可以安装我们的应用程序并修改其 vmoptions 文件?

0 投票
2 回答
279 浏览

c# - Java Access Bridge (JAB) - 无法获得有效响应

我知道关于这个主题的几个现有问题,但他们要么没有答案,要么答案对我不起作用,所以我在这里再试一次。

我正在尝试在 WinForms C# 项目中使用 Java Access Bridge API。Java Ferret 和 Java Monkey 都可以正常工作,这告诉我桥已安装并且至少能够运行。但是,当我尝试在自己的代码中运行 isJavaWindow() 时,它总是返回 false。我尝试了其他解决方案,建议将 Windows_run() 代码放在表单构造函数中,但这对我没有影响。

值得注意的是,下面的代码确实适用于我的家用 PC,但不适用于我的工作 PC。它也适用于同事,但前提是他直接运行可执行文件 - 如果他尝试从 Visual Studio 运行它,它也不起作用。

任何帮助,将不胜感激。几天来,我一直在为此烦恼,并且已经用尽了我在谷歌或其他地方遇到的所有可能性。