Pessoal!
Fiz uma DLL em C++ para acessar por JNA. Eu não quero colocá-la na pasta C:\Windows\System32, mas quero colocá-la dentro da pasta do meu projeto, para distribuir junto com meu jar. O problema é que está dando uma exceção, dizendo que não foi possível encontrar a DLL. Esse é o erro:Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'my': Não foi possível encontrar o módulo especificado.
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:160)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:228)
at com.sun.jna.Library$Handler.<init>(Library.java:140)
at com.sun.jna.Native.loadLibrary(Native.java:372)
at com.sun.jna.Native.loadLibrary(Native.java:357)
at wallpaper.nativo.ExecutaDll.setWallpaper(ExecutaDll.java:25)
at wallpaper.RandomWallpaper.randomize(RandomWallpaper.java:34)
at tray.TrayIcon.execute(TrayIcon.java:89)
at main.Main.main(Main.java:21)
public void setMy(String path) {
try {
User32 lib = (User32) Native.loadLibrary("my", User32.class);
lib.SetWallpaper(path);
} catch (Exception e) {
e.printStackTrace();
}
}
eu percebi que se eu trocar a String "my" pelo caminho completo "C:\\Users\\Eliangela\\Projetos\\teste\\src\\nativo\\my.dll" funciona perfeitamente.
Como que eu poderia fazer para passar o caminho relativo??
Obrigada