Jag försöker anropa en metod i Windows' dll-fil user32.dll med denna kod, men den kastar ett UnsatisfiedLinkError. Vad göra?
public class CallLib{
static { System.loadLibrary("user32"); }
public static native int MessageBoxW(int Hwnd, String text, String capt, int type);
public static void main(String[]s){
MessageBoxW(0, "Test text", "Test caption", 0);
}
}
jonnyzMedlem sedan okt. 2004504 inlägg Prova att istället använda
System.load("c:\\winnt\\system32\\user32.dll")
förutsatt att den sökvägen är korrekt även för dig...
spangoMedlem sedan juni 20006 147 inlägg Re: Anropa dll'er?
nitro2k01 skrev:
Jag försöker anropa en metod i Windows' dll-fil user32.dll med denna kod, men den kastar ett UnsatisfiedLinkError. Vad göra?
Fortsätt drömma ;)
För att det ska funka att anropa ett native-bibliotek måste det vara skrivet för JNI, vilket jag kan garantera att user32.dll inte är.
Finns det någon plugin som gör att man kan anropa en godtycklig (Mao, icke-jni kompatibel, vars namn definieras i Javakod) dll från Java på ett C-liknande sätt?
RezaMedlem sedan feb. 2001111 inlägg Det finns program med generella dll:er som du kan använda, tex.
JNIWrapper is the software development kit for working with native code from Java™ programs without using JNI. You write your code using Java only, and our product does the rest.
Som kostar 2000 kr, när mitt syfte är att använda det i projekt som ska spridas gratis. Nej tack. Jag tror nästan jag bemödar mig att skriva egna JNI-kompatibla bibliotek.