我试图使用JNA在Windows 7上调用with 32的CreateFile函数,目的是执行的Java实现,以检查一个文件是否被另一个进程使用。
到目前为止,我的代码是:
import com.sun.jna.Native;
import com.sun.jna.examples.win32.Kernel32;
public class CreateFileExample {
static int GENERIC_ACCESS = 268435456;
static int EXCLUSIVE_ACCESS = 0;
static int OPEN_EXISTIN
我创建了一个Java代码,试图访问在LoadProject中定义的类IProjectFactory的方法IProjectFactory。DLL文件的描述是: IProjectFactory用于将项目文件加载到内存中。IProjectFactory是myAPI.dll程序集中的静态类。它公开LoadProject方法,该方法接受包含要加载文件的路径的字符串,并返回对结果IProject的引用。使用IProject接口,您可以以各种方式操作加载的项目。
import com.sun.jna.Library;
import com.sun.jna.Native;
public class MyCl
我试图运行使用fannj库的项目,但我得到了错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: Error looking up function 'fann_create_standard_array':
at com.sun.jna.Function.<init>(Function.java:179)
at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:347)
at com
我一直在使用JNA库来获取Windows中所有可见的窗口句柄。我需要使用JNA在macOS中做一些类似的事情。 下面是在Windows中获取所有窗口句柄的代码: public static List<HWND> findAll() {
final List<HWND> windows = new LinkedList<>();
User32.INSTANCE.EnumWindows(new User32.WNDENUMPROC() {
@Override
public boolean callback(HW
我需要通过回调调用使用JNA的方法,问题是api无法识别该方法,因为JNA回调不包含通过方法参数传递的函数。
C中的功能是:
Result API LS800AutoDocHandle(...
int (__stdcall *userfunc1)(S_CODELINE_INFO_LS800 *CodelineInfo),
int (__stdcall *userfunc2)(S_IMAGE_INFO_LS800 *ImageInfo),
int (__stdcall *userfunc3)(S_IMAGE_INFO_LS800 *Image
我正在使用JNA开发call one DLL api for C/C++。DLL中的函数接口是短DKT_init(LPCSTR name)。我将相应的java方法设置为public short DKT_init(字符串名);但是当我调用它时,DLL API返回一个参数错误。我想知道如何在JNA中映射LPCSTR?因为LPCSTR是cons char *,而String是char *。
因此,我在上有一个项目,它有以下build.gradle:
// PLUGINS
plugins {
id 'java' // or 'groovy' Must be explicitly applied
id 'com.github.johnrengelman.shadow' version '1.2.2'
}
apply plugin: 'application'
apply plugin: 'java'
// REPOSITORIES & DEPENDENCIES
re
我试图在Java中锁定显示(禁止用户使用键盘和鼠标),通过JNA使用X11。
但是,当我尝试在Windows上运行该应用程序时,我收到以下错误:
java.lang.UnsatisfiedLinkError: Unable to load library 'X11': com.sun.jna.Native.open(Ljava/lang/String;)J
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:166)
at com.sun.jna.NativeLibrary.getInstanc
JNA在Windows端运行得很好。但是,当我将其移植到AIX并尝试运行我Java程序时,我得到了一个“线程中的异常"AWT-EventQueue-0”java.lang.UnsatisfiedLinkError: jna分派(/com/sun/jna/aix-ppc/libjnidis patch.a) not found in resource path“error。
我打开jna.jar文件来查看资源,实际上在/com/sun/jna/中没有aix-ppc目录。
有谁知道如何添加AIX平台的资源,或者在哪里可以找到必要的文档?jar已经被项目引用,我让Eclipse将所有必要的库