jna相关内容

JNA回调在对本机库的特定内部方法调用中间歇性地使应用程序崩溃

在我的应用程序中,我使用JNA来使用用C编写的本机代码,在回调中我从本机应用程序获得通知。 在回调中,我得到一个指针和一些其他要处理的数据。在JNA回调代码中,我必须再次使用该指针来调用其他本机库代码,并且必须传递该指针。之后,我必须从该回调返回。 如果我不从回调调用中间本机库方法(传递指针),它工作得很好,但如果我添加这个调用,我的应用程序会间歇性地崩溃(主要是在处理了数百个回调请求 ..
发布时间:2022-04-08 12:38:06 Java开发

JNA:Structure类中getFieldOrder()的用途是什么

我正在尝试调用DLL文件中存在的C++函数,C++函数通过引用将Structure对象作为参数,函数将在该函数中赋值, 因此,在我的Java应用程序中,为了将结构对象传递给函数,我确实编写了这样的代码: interface SomeInterface extends Library { SomeInterface instance = (SomeInterface) Nativ ..
发布时间:2022-03-12 21:17:12 Java开发

使用 JNA (JAVA) 的 GetAsyncKeyState 和 VirtualKeys/特殊字符

我正在开发一个可以在全屏游戏中使用的双向私人聊天. 这是让用户在屏幕顶部的半透明文本框中输入内容所必需的,即使它没有焦点. 使用以下代码,我可以检测到所有物理键,但使用虚拟键很难. SHIFT 被检测到. 2 被检测到. 但是 Shift + 2 被检测为两个单独的键(即使 [SHIFT+2] 在我的键盘上给出了 @ ).IE:程序输出 SHIFT 和 2,但不输出它 ..
发布时间:2022-01-25 21:25:16 Java开发

如何使用 JNI 或 JNA 读取窗口标题?

希望重返开发领域;主要是使用 Java 调用一些原生的 win32 函数(我不想在 .NET 中构建).... 谁能指出我可以使用 Java (JNI/JNA/SWIG) 从不同的运行窗口中读取标题的地方.假设您知道您尝试挂接的应用程序在内存空间的哪个位置. 解决方案 在 JNA 中: 公共接口 User32 扩展 StdCallLibrary {User32 实例 = (User ..
发布时间:2022-01-25 21:04:27 Java开发

禁用 JFrame 中的背景绘图以正确显示 Aero (DWM) 效果

我在 Java 窗口上使用 Windows Vista/7 的 DWM 功能时遇到问题.我想让我的框架的背景使用 Aero 风格.执行此操作的 Windows API 由 dwmapi 库中的函数 DwmExtendFrameIntoClientArea 提供.我已经设法通过 JNA 正确调用了该过程,并且它完成了它应该做的事情(例如,您可以看到,在调整框架大小时,在下一次重新绘制之前,您会在尚未 ..
发布时间:2022-01-24 14:32:38 Java开发

如何通过 Java 中的脚本弹出文本框(或工具提示)

我有一个非常具体的问题:我希望能够通过方法调用在屏幕上的给定位置弹出一个带有文本的工具提示(它可以说任何东西)在方法调用的一定时间内(比如逻辑在谈话方法中)和淡去.我该怎么办?有没有办法通过 JTooltip 做到这一点?还是我必须潜入 JNA 才能得到我想要的? 我应该提一下,我希望工具提示在给定位置弹出文本,而无需鼠标悬停,就像弹出窗口一样. 另外,如果工具提示不是实现我想要的东西 ..
发布时间:2022-01-20 22:45:44 Java开发

JNA:本机库依赖项和 JAR 提取

我将通过 JNA 访问 MSP430.dll(参见此处).但是这个库依赖于与 MSP430.dll 捆绑在一起的其他本机库.这个依赖本机库称为 HIL.dll.使用 jna.library.path 一切都可以完美运行.现在我会将本机库捆绑到我自己的 .jar 包中.然后我会使用从 JNA 框架的 jar 中自动加载的本地库.但这会给具有依赖关系的本机库带来问题.如果我将 MSP430.dll 和 ..
发布时间:2022-01-15 23:13:38 Java开发

如何使用 JNA 从 Android 调用 C/C++ 代码?

我正在尝试将此特定库集成到我的 Android 项目中,并且该库是用 C/C++ 编写的.我奇迹般地得到了 ndk-build 给我所需的 .so 文件. 但是,看了一下,项目中有一个示例,他们使用了一个神秘的 .jar 与 .c/c++ 的 API 绑定 文件. 我该怎么做 根据 .so 创建这个具有 API 的特殊 .jar 文件? 或 直接在c++主文件中添加方 ..
发布时间:2022-01-10 23:48:00 移动开发

在资源路径中找不到 JNA 原生支持 (/com/sun/jna/linux-arm/libjnidispatch.so)

我已经开始构建一个 Java 服务,它结合了 JNA 来加载本地 C/C++ 库,我想在 Raspberry PI aka arm 平台上运行 Java 服务.我已经成功地建立了一个稳定的服务基础,它可以在 Windows7 和 linux-amd64/debian 上运行,但是..在 RPI 平台上我得到了上述错误:线程“main"中的异常 java.lang.UnsatisfiedLinkEr ..
发布时间:2022-01-05 10:38:37 Java开发

带有 JNA 的 C 回调使 JRE 崩溃

我在处理 JNA 中的回调时遇到问题. 我正在尝试使用 C API,该 API 使用回调来处理多个会话事件(登录、注销、连接问题...). 会话对象(称为 sp_session)是一个不透明的结构.所有回调都注册在 sp_session_callbacks 结构中.根据 API,我应该声明回调对象,并将其放入创建 sp_session 对象时将提供的 Config 对象中.如果我不想使用某 ..
发布时间:2022-01-03 08:48:30 Java开发

JNA - 查询 Windows 进程

我正在尝试使用 JNA 返回有关特定 Windows 进程的详细信息.不完全确定如何做到这一点.在互联网上找不到太多帮助.我想返回的一些信息包括 CPU 和内存使用情况.以下只是我发现的一个例子. import java.io.BufferedReader;导入 java.io.BufferedWriter;导入 java.io.DataInputStream;导入 java.io.FileIn ..
发布时间:2022-01-02 19:32:09 Java开发

在 Android Studio 中设置 JNA

我尝试将 jna.jar 导入到我的项目中,因为 JNA 是调用基于 JNI 的 Native 库的非常有用的工具. 操作系统:Windows 10 IDE:Android Studio 1.5.1 JDK:1.8.0_73 NDK:r10e 我做了什么(AS = Android Studio) AS 使用 API18 创建一个新项目. 从他们的 GitH ..
发布时间:2022-01-01 17:09:16 移动开发

使用 JNA 和 Ada 的 Interface.C 包将 Ada 动态库与 Java 接口

我必须写一个 DLL 应该提供一个简单的服务,需要: 在字符串或字节数组中(相当于 char*) IN 整数,显式 in char* 的大小 IN 相当于库用于写入数据的 char* 缓冲区 用于写入的可用 char* 缓冲区的 IN 大小 OUT 有效写入大小到 out char* 缓冲区 从 C 的角度来看,签名应该是这样的: void myService (char* ..
发布时间:2021-12-25 16:17:58 Java开发

使用 JNA 从 Java 调用 DLL

我是使用 JNA 从 Java 访问 DLL 的新手.我需要从 DLL(用 .net 编写)中的类访问方法.形成下面的这个示例 DLL,我正在尝试获取 AuditID 和服务器 ID.当我运行我的代码时,我以以下错误结束.任何指导都非常感谢. ///错误/// 线程“main"中的异常 java.lang.UnsatisfiedLinkError:查找函数“GetEnrollcontex ..
发布时间:2021-12-25 16:15:10 Java开发

使用 JNA 链接到自定义 dll

如何使用 JNA 访问自定义 .lib/.dll 函数?有人能举个例子吗? 谢谢. 解决方案 示例(来自维基百科): import com.sun.jna.win32.StdCallLibrary;导入 com.sun.jna.Native;/** Windows 本机库声明和使用的简单示例.*/公共类 BeepExample {公共接口 Kernel32 扩展 StdCallLi ..
发布时间:2021-12-25 16:10:12 Java开发

如何在Java程序中调用DLL中的方法

我正在尝试使用 JNA 调用 DLL 中的方法.到目前为止已经使用 加载了 DLL Runtime.getRuntime().load("myworkspace/test.dll"); 这个 dll 包含一个我需要访问的方法.如何在我的 Java 文件中执行 DLL 中存在的方法.我是创建一个对象还是DLL的东西,然后在点运算符之后获取方法名称. 解决方案 来自 来源: packa ..
发布时间:2021-12-25 15:58:29 Java开发

尝试使用来自 Java (JNA) 的 DLL.无法加载库异常

我有来自 教程 的 NetBeans 项目,其中导致异常: 线程“main"中的异常java.lang.UnsatisfiedLinkError:无法加载库 'simpleDLL':找不到指定的模块. 尝试将simpleDLL.dll放入工程库中,复制system32文件夹中的文件没有成功. 解决方案 我在加载 DLL 时遇到了完全相同的问题,我是这样解决的: 正如 Ch ..
发布时间:2021-12-25 15:51:32 Java开发