Hallo !
Ich habe einen c++ Code, würde das Programm aber gerne in Java umprogrammieren:
Mein Problem sind dabei die Zeile "HWND HWC3=FindWindow(NULL,"Warcraft III");". Ich weiß leider nicht, wie man bei Java ein Handle auf ein Spiel bekommt. Vielleicht gibts da ja auch ein import ?
Außerdem die Zeilen "HWND SetActiveWindow(HWC3);" und "SendMessage(HWC3,WM_KEYDOWN,VK_OEM_4,0);"
Der Rest dürfte wohl kein Problem sein...
Ich frage mich aber prinzipiell wie ich in den zur verfügung gestellten 1000 JRE Klasse die finden kann, die ich brauche. Googlen hilft (wie hier) halt auch nicht immer...
(Ich frage mich ob sleep() try {Thread.sleep()} ... entspricht. Wenn ja, wozu brauch man das hier überhaupt ? Gar net oder ?? Naja das ist ja erst mal net so wichtig... )
Wäre toll, wenn mir jemand mit der "Übersetzung" weiter helfen könnte !
Ich habe einen c++ Code, würde das Programm aber gerne in Java umprogrammieren:
Code:
#include <windows.h>
HWND HWC3=FindWindow(NULL,"Warcraft III"); //Warcraft Handle bekommen
void keydown() {
HWND SetActiveWindow(HWC3);
SendMessage(HWC3,WM_KEYDOWN,VK_OEM_4,0); //in Warcraft gilt eine Taste als permanent gedrückt
SendMessage(HWC3,WM_KEYDOWN,VK_OEM_6,0);
Sleep(100);
}
void keyup() {
HWND SetActiveWindow(HWC3);
SendMessage(HWC3,WM_KEYUP,VK_OEM_4,0);
SendMessage(HWC3,WM_KEYUP,VK_OEM_6,0);
Sleep(100);
}
int main(){
if (!HWC3)
{
MessageBox(0, "Du musst erst Warcraft III starten", 0, 0);
return(0);
}
else { while (1==1) {
if(GetAsyncKeyState(VK_END)) {
keydown();
}
if(GetAsyncKeyState(VK_HOME)) {
keyup();
}
if(GetAsyncKeyState(VK_ESCAPE)) {
HWND SetActiveWindow(HWC3); //aktives Fenster mittels handel setzen
SendMessage(HWC3,WM_KEYUP,VK_OEM_4,0);
SendMessage(HWC3,WM_KEYUP,VK_OEM_6,0);
Sleep(100);
return(1);
}}
}
}
Mein Problem sind dabei die Zeile "HWND HWC3=FindWindow(NULL,"Warcraft III");". Ich weiß leider nicht, wie man bei Java ein Handle auf ein Spiel bekommt. Vielleicht gibts da ja auch ein import ?
Außerdem die Zeilen "HWND SetActiveWindow(HWC3);" und "SendMessage(HWC3,WM_KEYDOWN,VK_OEM_4,0);"
Der Rest dürfte wohl kein Problem sein...
Ich frage mich aber prinzipiell wie ich in den zur verfügung gestellten 1000 JRE Klasse die finden kann, die ich brauche. Googlen hilft (wie hier) halt auch nicht immer...
(Ich frage mich ob sleep() try {Thread.sleep()} ... entspricht. Wenn ja, wozu brauch man das hier überhaupt ? Gar net oder ?? Naja das ist ja erst mal net so wichtig... )
Wäre toll, wenn mir jemand mit der "Übersetzung" weiter helfen könnte !