[RESOLVIDO] Exceção ao tentar carregar DLL

1 resposta
E

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)
E esse é o código que eu estou usando:
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

1 Resposta

E

Resolvido…
encontrei uma resposta nesse tópico aqui http://www.guj.com.br/posts/list/145682.java

Obrigada

Criado 26 de novembro de 2009
Ultima resposta 26 de nov. de 2009
Respostas 1
Participantes 1