Şimdi Ara

Java JNA (Java Native Access) dll içindeki fonksiyonu çalıştırma

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
1
Cevap
0
Favori
357
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • [quote author=emre_serbes link=topic=43991.msg513296#msg513296 date=1403553492]
    Java projemde C#'ta kullandığım bir dll'in fonksiyonunu kullanmak istiyorum fakat dll'i tanıtmama rağmen içindeki fonksiyonu çağıramıyorum. Dll dosyasını kendim oluşturmadım fakat sorunsuz çalışıyor. Ayrıca kodlarını da görmeniz için ekliyorum.

    C#'ta şu kodu kullanarak fonksiyonu kullanabiliyorum
     
    InputSimulator.SimulateTextEntry("Yazdırmak istediğim");
    InputSimulator.SimulateKeyPress(VirtualKeyCode.VK_1); //Sorunum burda da var çünkü keycode gönderemiyorum javadan


    Java'da denediğim kod bloğu ise şu şekilde

     
    package javaapplication3;

    import com.sun.jna.Library;
    import com.sun.jna.Native;
    import java.lang.String;
    import java.io.IOException;

    public class JavaApplication3 {


    public interface WindowsInput extends Library {

    void SimulateTextEntry(String s);
    }

    public static void main(String[] args) throws IOException, InterruptedException {

    Thread.sleep(2000);
    WindowsInput ins = (WindowsInput) Native.loadLibrary("InputSimulator.dll", WindowsInput.class);
    ins.SimulateTextEntry("asdsad");

    }
    }


    Java'da aldığım hata (Anladığım kadarıyla fonksiyonu çağırabilmek için düzgün metodu kullanmıyorum);

     
    Exception in thread "main" java.lang.UnsatisfiedLinkError: Error looking up function 'SimulateTextEntry': Belirtilen yordam bulunamadı.

    at com.sun.jna.Function.<init>(Function.java:208)
    at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:536)
    at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:513)
    at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:499)
    at com.sun.jna.Library$Handler.invoke(Library.java:199)
    at com.sun.proxy.$Proxy0.SimulateTextEntry(Unknown Source)
    at javaapplication3.JavaApplication3.main(JavaApplication3.java:20)
    Java Result: 1


    Kullandığım dll dosyası ve kodları için :

    http://inputsimulator.codeplex.com/

    http://inputsimulator.codeplex.com/SourceControl/latest#README.md







  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.