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.