使用jna-4.4.0.jar
访问Windows 7 Native库时,我的异常低于Exception添加-Djna.debug_load=true -Djna.debug_load.jna=true
参数后,我的输出低于UnsatisfiedLinkError。
Trying (via loadLibrary) jnidispatch
Looking in classpath from sun.misc.Launcher$AppClassLoader@73d16e93 for /com/sun/jna/win32-x86-64/jnidispatch.dll
Found library resource at jar:file:/C:/Users/vishwajit/workspace/Practice/lib/jna-4.4.0.jar!/com/sun/jna/win32-x86-64/jnidispatch.dll
Trying C:\Temp\jna--1067518124\jna4907966697518063795.dll
Found jnidispatch at C:\Temp\jna--1067518124\jna4907966697518063795.dll
Looking for library 'win64'
Adding paths from jna.library.path: null
Trying win64.dll
Adding system paths: []
Trying win64.dll
Looking for lib- prefix
Trying libwin64.dll
Looking in classpath from sun.misc.Launcher$AppClassLoader@73d16e93 for win64
Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'win64': Native library (win32-x86-64/win64.dll) not found in resource path ([file:/C:/Users/vishwajit/workspace/Practice/bin/, file:/C:/Users/vishwajit/workspace/Practice/lib/gson-2.7.jar, file:/C:/Users/vishwajit/workspace/Practice/lib/jna-platform-4.4.0.jar, file:/C:/Users/vishwajit/workspace/Practice/lib/jna-4.4.0.jar])
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:303)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:427)
at com.sun.jna.Library$Handler.<init>(Library.java:179)
at com.sun.jna.Native.loadLibrary(Native.java:569)
at download.wallpaper.WallpaperDownloader$User32.<clinit>(WallpaperDownloader.java:47)
at download.wallpaper.WallpaperDownloader.main(WallpaperDownloader.java:43)
并且,我正在尝试使用以下代码加载Windows库来设置壁纸。
public static interface User32 extends Library{
User32 INSTANCE = (User32) Native.loadLibrary("win64", User32.class, W32APIOptions.DEFAULT_OPTIONS);
boolean SystemParametersInfo(int one, int two, String s, int three);
}
现在,我无法找到win32-x86-64 / win64.dll的库路径。它所在的位置和路径是什么?