SendInput(); Mausklicks zu Game
-
Habe das Problem das ich keine Linksklicks zu Games senden kann, habe den Code mit Rechtsklicks versucht das klappt ohne Probleme, der Linksklick scheint auch zu "gehen" ich mein man hört einen Klick Sound allerdings tut sich nix
Hat jemand eine Ahnung woran das liegen könnte ?
Hier ist die Funktion die ich nutze:
void MouseClick(int X, int Y)// Mausklick (links) simulieren: { SetFocus(hwnd); INPUT Input; Input.type = INPUT_MOUSE; Input.mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE; Input.mi.dx = X * (65535.0f / (GetSystemMetrics(SM_CXSCREEN) -1)); Input.mi.dy = Y * (65535.0f / (GetSystemMetrics(SM_CYSCREEN) -1)); SendInput(true, &Input, sizeof(Input)); Input.type = INPUT_MOUSE; Input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN; //Linke Taste Runter. SendInput(true, &Input, sizeof(Input)); Input.mi.dwFlags = MOUSEEVENTF_LEFTUP; //Linke Taste loslassen. SendInput(true, &Input, sizeof(Input)); }
Edit: Ingame scheint es zu klappen (Schießt) allerdings geht es bei den Menüknöpfen nicht.
-
Füge mal ein Sleep(60) zwischen Maustaste drücken und loslassen ein.
-
hyckhfjkhdj schrieb:
Füge mal ein Sleep(60) zwischen Maustaste drücken und loslassen ein.
Hab ich schon in verschiedenen länger versucht auch mit 60, klappt leider auch nicht.
-
BKA schrieb:
ich mein man hört einen Klick Sound
Bei diesem Symptom denke ich doch zuerst an sowas:
"Ups, der Mauszeiger ist an der falschen Position, so wie man beim Dialog oder Messagebox daneben klicken würde"Das ist mit Sicherheit der entscheidende Hinweis für das Nichtfunktionieren!
(ohne Dein Sourcecode gelesen zu haben)
HTH,
Martin
-
Mmacher schrieb:
BKA schrieb:
ich mein man hört einen Klick Sound
Bei diesem Symptom denke ich doch zuerst an sowas:
"Ups, der Mauszeiger ist an der falschen Position, so wie man beim Dialog oder Messagebox daneben klicken würde"Das ist mit Sicherheit der entscheidende Hinweis für das Nichtfunktionieren!
(ohne Dein Sourcecode gelesen zu haben)
HTH,
MartinIch habs jetzt endlich hinbekommen bin mir aber immernoch nicht sicher woran es lag ich glaub es hat geklickt bevor die maus an der position war trotz Sleep();
Ich nutze jetzt 3 Klicks, immerhin kommt jetzt wenigstens einer von denen an.Danke euch
Mfg
-
Bei Sendinput() musst dein Programm höhere Rechte haben als das Programm an die die Befehle geschickt werden, also am besten mal als Admin starten