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
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
Oncelikle JNI kullanmadan once neden kullaniyorum diye bir sor kendine. Input Simulator denilen 3rd party bir kutuphane icin kullaniyorsun. Bunun da amaci windowsta mouse ve klavye yi taklit edebilmesi. Once baktin mi ki Java boyle birseyi destekliyor mu? Kendine has kutuphanesi var mi, veya cross-platform kutuphaneler var mi? Bak buraya istersen once: http://stackoverflow.com/questions/7745959/how-to-simulate-keyboard-presses-in-java
C#'ta şu kodu kullanarak fonksiyonu kullanabiliyorum
Java'da denediğim kod bloğu ise şu şekilde
Java'da aldığım hata (Anladığım kadarıyla fonksiyonu çağırabilmek için düzgün metodu kullanmıyorum);
Kullandığım dll dosyası ve kodları için :
http://inputsimulator.codeplex.com/
http://inputsimulator.codeplex.com/SourceControl/latest#README.md
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.