问题标签 [jna]

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 投票
1 回答
2208 浏览

c - 引用的 JNA 无符号整数给出了奇怪的结果

我目前正在尝试使用 JNA 访问 C API。但是我对通过引用传递的无符号整数参数有疑问。

所以这是有问题的C函数:

在Java中我有:

这是我使用它的方式:

这给了我:

11000100110110010011000000(51602624)

虽然它应该是0。

我使用 JNA-API 的方式有问题吗?

谢谢!

0 投票
1 回答
1026 浏览

java - 带有 JNA (Java) 的 Windows 缩略图预览

给我

我有一种感觉我做的完全错误,但是挖掘文档让我一无所获。

0 投票
1 回答
196 浏览

java - Java Native Access API 是否在本地保存本机库以供执行?

我只是想知道是否有人知道 Java Native Access API 是否会在加载和使用本机库之前或时将本机库本地保存到临时位置?

0 投票
1 回答
991 浏览

java - 如何扩展 JNA 接口映射?(爪哇)

User32 接口(平台库)缺少一些 WinAPI 函数,所以我尝试扩展它:

但随后调用myapp.User32.INSTANCE.FindWindow(..)结果java.lang.NullPointerException: Cannot invoke method FindWindow() on null object

0 投票
1 回答
309 浏览

java - 是否可以使用 JNA/JNI 访问正在运行的应用程序实例?

我正在为一个 Java 应用程序编写一个测试引擎,该应用程序有一些用 C 编写的代码。这个应用程序使用 JNI 来访问它的本机部分。

在我正在编写的引擎中,我使用 Fest 来控制 de UI 并执行测试。但是,在处理用 C 编写的部分时,我是盲目的。我想知道是否可以使用 JNA 或 JNI 访问应用程序的本机部分。我相信应用程序已经在运行的事实在这里是个大问题。

0 投票
1 回答
380 浏览

dll - 带有 Java 应用程序的 CAN 控制器 DLL。无法打开 CAN 端口

我正在创建一个 Java 应用程序,该应用程序通过供应商提供的can.dll文件控制控制器区域网络 (CAN) 控制器。

can.dll包含一个函数bool openPort(DWORD memAddr),它允许应用程序与 CAN 控制器建立连接。

我编写了一个 C++ 测试应用程序,通过 LoadLibrary 加载了 can.dll,发现这个函数可以正常工作,即它返回 true。

但是,在我的 Java 应用程序中,通过 JNI 或 JNA 调用它会返回 false。

我希望有人可以帮助我解决这个问题,因为我已经尝试解决这个问题一个多星期了。

谢谢:) JL

0 投票
2 回答
17596 浏览

java - Windows 中的 JNA 键盘挂钩

我已经整理了一个 JNA 代码,用于在 Windows 中安装键盘挂钩(使用 JNA 示例)。代码编译完成,我安装了钩子(我成功地处理了钩子),我也可以成功卸载钩子。但是,当我按下键盘上的任何键时,回调永远不会被调用。这是我的代码(大部分是从 JNA 示例中获得的类型定义,我直接转到“main”)

过去,我曾多次使用 C++ 和 C# 完成键盘/鼠标挂钩。这是我第一次尝试使用 Java,我只是不知道我是否正确导入和映射了库。有任何想法吗?

谢谢你。

0 投票
2 回答
1676 浏览

java - JNA 联合结构映射

在 JNA 中,如何从 Xlib 映射如下 XEvent 的联合结构

我希望稍后能够根据接收到的事件类型将 JNA 中的 XEvent 转换为其他事件(如 XKeyEvent、XButtonEvent、XMotionEvent ...等)。

我并不是要求对上述所有结构进行完整映射。一个关于如何做的小例子的清晰解释就足够了。

谢谢

0 投票
2 回答
5763 浏览

java - JNA 的 void* 示例

我一直在努力寻找有关 JNA 中 void* 示例的示例。我试图了解如何在 JNA 中使用指针。

例如

在 C :

我们如何使用 JNA 在 JAVA 中编写它?我在 JAVA 中试过这个

调用 myLib.PTOsetApiOpt 时出现 JVM 崩溃。我猜这是因为新的 Pointer 语句。如何创建指针并将其用作参数而不会导致 JVM 崩溃?我已经坚持了2天。任何提示都会很棒。提前致谢。

问候,-视频-

0 投票
1 回答
1956 浏览

java - JNA - 带有 void* 参数的回调方法

我有一个使用供应商提供的 dll 注册回调方法的 C 方法。有人告诉我,DLL 在它创建和控制的单独线程上进行回调。接收回调可以接收 3 种可能的不同数据消息。

我已经使用 JNAERATOR 创建了生成以下段代码的 JAVA 接口代码,

我已经在简单的 main 方法中运行了代码,以确保我可以从 dll 中获取回调,如下所示。

当我运行我的测试时,它成功地向 dll 注册了回调。但是后来当 dll 尝试调用回调方法时,jvm 甚至在它到达 JAVA 中的回调方法之前就崩溃了。异常报告显示““0x0b543a46”处的指令引用了“0x0651acc”处的内存。无法“读取”内存”。我怀疑回调中的指针失败了。你能看出我的代码有什么问题吗?我需要回调中的指针对象吗?我无法阅读下面 JVM 崩溃时生成的异常报告。对你的帮助表示感谢。