问题标签 [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 投票
3 回答
3925 浏览

java - 如何在 Java 中获取新的指针?

如何从 JNA 调用具有 C 中此方法签名的方法?

C 方法的最后两行如下所示:

这是该方法中的唯一用途dev。这意味着我必须将指针传递给指向该方法的空指针,对吗?然后该方法用对象的地址填充空指针,device我可以将指向设备的指针传递给其他方法。

我的问题是:这是正确的方法吗?如果是,我如何从 Java 分配一个新指针?


根据接受的答案,我这样做了:

0 投票
1 回答
1413 浏览

arrays - 使用 JNA 分配字节数组

我正在尝试开发一个函数来填充作为实际参数传递的字节数组。我正在遵循 JNA 文档的示例,但它不起作用。文档说:

我在 C 中的功能是:

但是当打印数组值时,结果是:0 20 48 2

如何正确实现函数allocate_buffer?还是问题出在Java代码中?

谢谢!

0 投票
3 回答
10418 浏览

java - Java - 窗口图像

有谁知道如何在 Windows 中捕获 Java 中的屏幕截图(不是它自己的屏幕,而是桌面上的任何其他窗口,它们不一定活动窗口)?这里有很多关于这个类似主题的主题,但我还没有找到答案。

我尝试过使用 JNA,但经过几次尝试后就卡住了。例如...

我还尝试了等效的“PrintWindow()”API ...

还是我必须使用 JNI 或任何其他工具?

0 投票
1 回答
460 浏览

java - 用于自定义库的 JNA

我是 JNA 基础设施的新手,但我认为要点是我有一些库“someLib”,并且我创建了一个 java 接口来匹配它。那么我可以“只是”使用它吗?

但问题是我不确定我需要模拟什么,特别是有些类我需要它的特性。

可以说我的 C++ 库有一个“AdvancedString”对象——它在内部使用了一些其他类。

这意味着它看起来像这样:

而且我需要能够在 Java 代码中说出 AdvancedString.doSomething() 并让它工作。这意味着我需要...为 AdvancedString 类创建一个接口?

这看起来合理吗?或者我错过了什么。感谢您提供的任何见解!

0 投票
1 回答
5219 浏览

java - 使用 JNA 和 EnumWindows 的问题

我正在试验 JNA,这是我尝试运行的第一个程序。我从参考资料中复制了它,但是,当我运行它时,他找到了 412 个窗口......而且我很确定我现在没有打开那么多窗口:) 请有人解释一下程序的行为吗?

0 投票
1 回答
462 浏览

java - JNA 调用 C 函数

我在 C GetProductString(DWORD DeviceNum,LPVOID DeviceString,DWORD 选项)中有一个函数。我如何在JNA中调用它?

0 投票
1 回答
564 浏览

java - JNA 与本机代码的通信

我有这个本机功能,当我将设备连接到我的系统时,我在 JNA 中得到空值

  1. DeviceNum— 需要产品描述字符串、序列号或完整路径的设备的索引。
  2. DeviceStringCP210x_DEVICE_STRING—返回以 NULL 结尾的序列号、设备描述或完整路径字符串的类型变量。
  3. Options— 确定是否DeviceString包含产品描述、序列号或完整路径字符串的标志

JNA 代码:

0 投票
1 回答
2033 浏览

java - 关闭捕获全局输入事件的钩子

介绍

这里有一个例子来说明这个问题。考虑我正在跟踪并向用户显示鼠标全局当前位置以及最后一次单击按钮和位置。这是一张图片:

替代文字

为了归档在 windows 框上捕获的单击事件,这将被发送到其他程序事件消息队列,我使用 winapi 即user32.dll库创建了一个钩子。这是在 JDK 沙箱之外,所以我使用 JNA 来调用本机库。

这一切都很完美,但它并没有像我期望的那样关闭。

我的问题是 - 如何正确关闭以下示例程序?

示例源

下面的代码并非完全由我编写,而是取自Oracle 论坛中的这个问题并部分修复。

0 投票
2 回答
3975 浏览

java - Java中的虚拟操纵杆

您听说过带有 Java 包装的 Windows 虚拟操纵杆吗?

我正在尝试 PPJOY,效果很好,但是我需要使用 JNI 来让它从 Java 中运行,这暂时看起来并不容易。

谢谢!

0 投票
1 回答
1392 浏览

java - java - 如何使用JNA将指向结构数组的指针传递给java中的函数?

IplImage 我需要将( )数组的指针传递IplImage extends CvArray extends Structure implements cloneable给函数 C 中的本机代码如下:

我试过这个:

但它没有用。这个函数在Java中的声明是这样的: