C++ bewegen Sie die Maus in windows mit SetCursorPos

Ich ein Gerät ähnlich wie eine wiimote, und ich möchte es verwenden, wie eine Maus in windows (8.1).
Das Gerät verbindet sich über tcp zu einer c++ - win32-Programm auf meinem windows-computer und sendet die position, wo sich der Mauszeiger bewegen soll. Ich bin über die SetCursorPos-Funktion zum festlegen der position, die großen Werke zu kontrollieren, die meisten Programme. Aber wenn ich versuche zu Steuern, zum Beispiel der task-manager, den cursor nicht mehr bewegen. Wenn ich den Schalter von der task-manager wieder zu einem anderen Programm funktioniert es wieder. Ich habe auch versucht, die SendInput-Funktion mit dem gleichen Ergebnis.

Dies ist, was mein code sieht aus wie mit SendInput:

INPUT Input = { 0 };
Input.type = INPUT_MOUSE;

Input.mi.dx = (LONG)posX;
Input.mi.dy = (LONG)posY;

//set move cursor directly
Input.mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE;

SendInput(1, &Input, sizeof(INPUT));

Mit SetCursorPos es ist nur eine Zeile:

SetCursorPos(posX, posY);

Kann mir jemand sagen, warum es nicht funktioniert bei einigen Programmen? Ich weiß, es muss möglich sein, dies zu tun, da habe ich versucht, eine smartphone-app, die steuert den cursor und es funktioniert in allen Programmen.

InformationsquelleAutor user3394180 | 2014-03-07
Schreibe einen Kommentar