问题标签 [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.
java - 如何使用 Java Access Bridge 识别对象?
是否有任何方法或属性可以使用 Java Access Bridge 一致地识别对象?
我尝试使用 AccessibleContextInfo 名称属性。但大多数情况下,这会在我们的客户端应用程序(例如根窗格、分层窗格、面板和编辑框)中返回一个空字符串。
java - 使用 Java Access Bridge 实现自动化
我可以使用Java Access Bridge事件从 Java 应用程序中的 UI 控件(按钮/编辑框/复选框等)中捕获文本。我怎样才能:
- 在编辑框中设置文本
- 点击一个按钮
使用 Java Access Bridge API 调用?
java - Java:我在哪里可以找到 WindowsAccessbridge 的源代码?
我从https://jdk7.java.net/source.html下载了 Java JDK 7 源代码。这是一个 100 MB 的包,包含几乎所有的源代码——除了我感兴趣的部分。
Java Access Bridge(JAB)主要由运行在不同进程中WindowsAccessBridge.dll
并JavaAccessBridge.dll
进行进程间通信的部分组成。
在源代码包中存在这些文件夹和文件:
和
但是所有的cpp文件都丢失了。
文件 Files_cpp.gmk 说:
ZIP 包中不存在这些 CPP 文件。
Makefile 说:
是什么CLOSED_PLATFORM_SRC
?
所以,现在你会告诉我:“算了!这些文件是不公开的。 ”
但是,在本文中:未收到来自 Java Access Bridge 的回调Darren Ford 写道,他已经编译了 WindowsAccessBridge 的调试版本。那是在 2009 年。所以几年前代码是可用的。
有人有这个代码并且可以为我发布吗?(我不在乎它是否来自较旧的 JDK。)或者它仍然可用但我没有找到它?
注意:在 JDK 7 之前,Accessbridge 不是 JDK 的一部分。这是一个单独的下载,必须手动安装。请参阅http://docs.oracle.com/javase/accessbridge/2.0.2/setup.htm
java - 使用 getAccessibleContextAt 时的 Java 访问桥问题
在 C#.net 代码中,一直在尝试使用接口getAccessibleContextAt
——以如下方式。
- 对于所关注的 Java 应用程序,我确定了主窗口句柄
- 我使用
getAccessibleContextFromHWND
. 这些不是零并getAccessibleContextFromHWND
返回true。 - 使用这些值和鼠标位置 (x,y) 尝试使用 interface 获取底层控件的上下文
getAccessibleContextAt
。此方法返回 true,但控件的指针为零。
这是我正在使用的代码:
JABHelper 只是 WindowsAccessBridge.dll 公开的不同接口的包装器。
ctlContextPointer- 总是碰巧为零。对此问题的任何解决方案将不胜感激。如果我做错了什么,请告诉我。
java - 如何在捆绑的 JRE 中启用 Java Access Bridge?
在 Java 1.7 中,Java Access Bridge 从一开始就捆绑在一起。它说您需要做的就是运行jabswitch.exe -enable
以启用此特定 JRE 的 JAB。
当您从安装程序获取 JRE 时,这可以正常工作。但是,仅在为 Windows 部署 Java 应用程序时,您可能希望捆绑 JRE 以便于安装。捆绑 JRE 后,似乎无法激活 Java Access Bridge
有没有办法在捆绑的 JRE 中启用 Java Access Bridge?
java - Excelsior Jet 的 JAVA 辅助功能支持
我有一个通过 Java Access Bridge 支持屏幕阅读器的应用程序。jre 版本适用于 NVDA 等屏幕阅读器。我们已经用Excelsior Jet编译了我们的应用程序,发现除了屏幕阅读之外一切正常。
但是另一个屏幕阅读器(例如 JAWS)可以正常工作。
使用的 Java 版本是 1.7.72 使用的 NVDA 是 2014.2。
java - 使用 64 位 Java SDK 和 64 位 Windows 在 C# 中为 JavaAccessability 运行示例 Java 应用程序
我有一个示例 Java 应用程序,当我下载javaaccessablity-2.0.2
它时使用了 Java Accessibility(通过 Java Access Bridge WindowsAccessBridge-32.dll
)。虽然它调用getAccessibleContextFromHWND
成功它返回false
。请注意,我通过检查工具验证了 hWnd 的正确值。
我的 Windows 64 位系统中安装了 64 位 Java SDK。以下是我尝试过的代码。我也尝试过使用 WindowsAccessBridge-64.dll,但它给出了相同的行为,即 vmID 和 _acParent 返回为零而不是非零值。
我已经阅读了类似的帖子,但它并没有解决我的问题。
java - 如何调用和初始化 Java Access Bridge API?
Java Access Bridge API 调用包含在
AccessBridgeCalls.h
其中并使用它们,您还必须编译该文件AccessBridgeCalls.c
,该文件充当您的应用程序和WindowsAccessBridge.dll
.
但是当我试图用AccessBridgeCalls.h
&创建一个 dll 时AccessBridgeCalls.c
,它说缺少AccessBridgeDebug.h
文件。
如何调用该initiateAccessBridge()
方法?我希望执行类似于 JavaMonkey.exe 的任务,例如识别 Java Swing 应用程序中的组件。
当我isJavaWindow(int)
从 Access Bridge 调用时,它总是为所有处理程序返回 false。
java - 如何正确使用 Java Access Bridge?
这是我的代码:
我想知道我的 JAB 初始化有什么问题,或者如何处理这个错误。
PS,我可以使用正确的配置运行 JavaMonkey 和 JavaFerret。
java - C# 使用 Java Access Bridge 自动化 Java 应用程序
我有一个想要自动化测试的 Java 应用程序。不幸的是,应用程序窗口仅注册为 SunAWTFrame,这意味着没有任何控件暴露给典型的窗口分析和自动化工具。
我的搜索引导我使用 C# 并在 C# 程序中使用 Java Access Bridge DLLS 来自动化它。
有没有人有这方面的经验?
Oracle 为 JavaAccessBridge (JAB) 提供了一些 DLLS 来帮助解决这个问题,因为我在阅读了互联网上的几篇文章后理解了这一点。有一些代码示例,但我现在真的不喜欢它。通过分解它,我认为这是需要实现的:
- 导入/加载/解析 JAB dll
- 将 JAB dll 中的函数映射到我的程序中的方法/调用
- 让 Java 应用程序自动运行(启用 JAB)并将其处理给我的程序
- 利用 JAB 函数来控制 Java 应用程序
我对 C# 的了解不如对 Java 的了解,但这不会阻止我。
如果有人可以提供帮助、指导、指示或任何让我开始的东西,那真是太棒了。