Hogyan hozzunk létre egy bot java, amely együttműködik az alkalmazást (nem java) nem összpontosít verem túlcsordulás

Van egy program (bot) a Java. Vannak más alkalmazások (Játék) az ablakban (1024x768).

Szüksége van egy bot, amely automatikusan műveleteket végeznek a játékban.
Java osztály Robot:







amely alkalmas erre (is versenyez kattintással, kattintás az egérrel), de ez az osztály feltétlenül szükséges alkalmazásra összpontosít.

Van-e bármilyen módon, hogy megoldásokat, amelyek a munka nélkül hangsúly?
(Alkalmas bármilyen döntés, akkor is, ha azt kell írni ezt a kódrészletet a C / C ++)

meghatározott február 4 '16 at 23:17

Ahhoz, hogy a lehetséges csak a JNI, akkor meg kell írni kódot C / C ++.

Azt javasoljuk, hogy milyen belsejében elhelyezett könyvtár jnativehook. tudta fogni az esemény natívan.

Hívja a C ++ kódot Java, akkor:

1) Hozzon létre egy Java-wrapper, hogy hívja a kód:

2) írni egy programot C ++ (sendkeys_impl.cpp)

3), hogy egy címet a kölcsönhatás a C kód (sendkeys.h)







4) intézkedik azt egy DLL, egy ilyen szerkezet megadásával egy fájlt C (sendkeys.c):

5) összegyűjteni valami ilyesmi: g ++ -Wl, - add-stdcall-alias -I "% JAVA_HOME% \ include" -I "% JAVA_HOME% \ include \ win32" -shared -o sendkeys.dll sendkeys.c SendKeys .cpp 6), akkor fuss! java SendkeysTest vagy java -Djava.library.path =. SendkeysTest

Továbbá minden részlet leírt egyik több utasítást JNI.

Akkor kihasználni minden oktatóanyagok küldő billentyűk segítségével C ++, vagy kérdezze meg, hogy Voros az StackOverflow. A hely, ahol írja be a megfelelő kódot már van.

Ha meg kell küldeni tetszőleges kód, akkor szüksége sem SendInput () (ez a Windows 2k / xp, és ezért előnyös), vagy keybd_event () (működik az új rendszer). Mégis vannak olyan események WM_SYSCOMMAND / WM_KEYDOWN / WM_KEYUP / WM_CHAR események SendMessage.

Például itt, akkor küld üzeneteket a Jegyzettömb segítségével SendInput említettük:

Vagy használja SendMessage:

(Példák levonni ezt a vitát itt a fő StackOverflow)

Egérkattintással, és mozgása is elküldhető SendInput:

Következő a munkád minden jól tapadnak össze, és alkalmazkodni a feladat, az írás egy teljesen korrekt posylalki kulcsok kombinációja Java + C ++ nem fér bele egy elfogadható méretű a választ.




Kapcsolódó cikkek