问题标签 [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.
c - 引用的 JNA 无符号整数给出了奇怪的结果
我目前正在尝试使用 JNA 访问 C API。但是我对通过引用传递的无符号整数参数有疑问。
所以这是有问题的C函数:
在Java中我有:
这是我使用它的方式:
这给了我:
11000100110110010011000000(51602624)
虽然它应该是0。
我使用 JNA-API 的方式有问题吗?
谢谢!
java - 带有 JNA (Java) 的 Windows 缩略图预览
给我
我有一种感觉我做的完全错误,但是挖掘文档让我一无所获。
java - Java Native Access API 是否在本地保存本机库以供执行?
我只是想知道是否有人知道 Java Native Access API 是否会在加载和使用本机库之前或时将本机库本地保存到临时位置?
java - 如何扩展 JNA 接口映射?(爪哇)
User32 接口(平台库)缺少一些 WinAPI 函数,所以我尝试扩展它:
但随后调用myapp.User32.INSTANCE.FindWindow(..)
结果java.lang.NullPointerException: Cannot invoke method FindWindow() on null object
java - 是否可以使用 JNA/JNI 访问正在运行的应用程序实例?
我正在为一个 Java 应用程序编写一个测试引擎,该应用程序有一些用 C 编写的代码。这个应用程序使用 JNI 来访问它的本机部分。
在我正在编写的引擎中,我使用 Fest 来控制 de UI 并执行测试。但是,在处理用 C 编写的部分时,我是盲目的。我想知道是否可以使用 JNA 或 JNI 访问应用程序的本机部分。我相信应用程序已经在运行的事实在这里是个大问题。
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
java - Windows 中的 JNA 键盘挂钩
我已经整理了一个 JNA 代码,用于在 Windows 中安装键盘挂钩(使用 JNA 示例)。代码编译完成,我安装了钩子(我成功地处理了钩子),我也可以成功卸载钩子。但是,当我按下键盘上的任何键时,回调永远不会被调用。这是我的代码(大部分是从 JNA 示例中获得的类型定义,我直接转到“main”)
过去,我曾多次使用 C++ 和 C# 完成键盘/鼠标挂钩。这是我第一次尝试使用 Java,我只是不知道我是否正确导入和映射了库。有任何想法吗?
谢谢你。
java - JNA 联合结构映射
在 JNA 中,如何从 Xlib 映射如下 XEvent 的联合结构
我希望稍后能够根据接收到的事件类型将 JNA 中的 XEvent 转换为其他事件(如 XKeyEvent、XButtonEvent、XMotionEvent ...等)。
我并不是要求对上述所有结构进行完整映射。一个关于如何做的小例子的清晰解释就足够了。
谢谢
java - JNA 的 void* 示例
我一直在努力寻找有关 JNA 中 void* 示例的示例。我试图了解如何在 JNA 中使用指针。
例如
在 C :
我们如何使用 JNA 在 JAVA 中编写它?我在 JAVA 中试过这个
调用 myLib.PTOsetApiOpt 时出现 JVM 崩溃。我猜这是因为新的 Pointer 语句。如何创建指针并将其用作参数而不会导致 JVM 崩溃?我已经坚持了2天。任何提示都会很棒。提前致谢。
问候,-视频-
java - JNA - 带有 void* 参数的回调方法
我有一个使用供应商提供的 dll 注册回调方法的 C 方法。有人告诉我,DLL 在它创建和控制的单独线程上进行回调。接收回调可以接收 3 种可能的不同数据消息。
我已经使用 JNAERATOR 创建了生成以下段代码的 JAVA 接口代码,
我已经在简单的 main 方法中运行了代码,以确保我可以从 dll 中获取回调,如下所示。
当我运行我的测试时,它成功地向 dll 注册了回调。但是后来当 dll 尝试调用回调方法时,jvm 甚至在它到达 JAVA 中的回调方法之前就崩溃了。异常报告显示““0x0b543a46”处的指令引用了“0x0651acc”处的内存。无法“读取”内存”。我怀疑回调中的指针失败了。你能看出我的代码有什么问题吗?我需要回调中的指针对象吗?我无法阅读下面 JVM 崩溃时生成的异常报告。对你的帮助表示感谢。