Maus Koordinaten außerhalb seines Fensters erhalten
-
Hi, mit GetCurserPos(&POINT) kann ich die Position der Maus herausbekommen ... aber leider nur solange die Maus sich innerhalb meines Fensters befindet... Wie kann ich
die Position der Maus bekommen, auch wenn sie nicht in meinem Fenster ist....mfg
-
1. SetCapture, aber vorsicht. Das dient nur für Drag&Drop Operationen.
2. SetWindowsHookEx mit WH_MOUSE oder WH_MOUSE_LLWas willst Du tun?
-
Foxx90 schrieb:
aber leider nur solange die Maus sich innerhalb meines Fensters befindet... Wie kann ich
die Position der Maus bekommen, auch wenn sie nicht in meinem Fenster ist....Also eigentlich ist es de facto egal, WO die Maus (genauer: der Cursor) gerade ist. Dein Problem wird wahrscheinlich eher sein, dass Du keine (Maus-)Nachrichten bekommst, wenn der Cursor 'Deine Anwendung verlässt'. Dann müsst Du auf Martin's Tipp zurückgreifen (oder ich hab grad etwas total falsch verstanden
).PS: Schließe mich der Frage an 'Was hast Du vor ?' ^^ ... BTW: Wie wär es mit Timern - Hooks bringen immer eine Menge Performanceverlust mit sich.
-
Timern ?? Kannst du mir sagen wie ? wüsste da nich direct was mit timern

Ich will nix besonderes machen , halt nur genau das in einem Beispiel programm lernen ... also wenn hooks nich soo gut sind dann erkläre deinen idee mit den timern bitte

danke schon mal für die antworten

mfg
-
Also ich weiß ja immer noch nicht genau, was Du machen willst, aber das mit Timern meinte ich so

// In Deiner WndProc: case WM_CREATE: SetTimer(hWnd, 1000, 1000, NULL); break; case WM_TIMER: // hier das machen, was jede Sekunde gemacht werden soll... // z.B.: GetCursorPos(...); break; case WM_DESTROY: KillTimer(hWnd, 1000); break;Siehe MSDN für weitere Informationen.
-
aso... nee das meinte ich nich ..
Was ich meinte ist :Ich hab ein Fenster (das nur 200x300 pixel groß ist) . Darin befinden sich 2 Textboxen (x,y)Coords für die maus... So ich will nun die Curser Position bekommen (GetCurserPos) und die werden dann andauernd ins textfeld geschrieben... soweit so gut.. aber die werden leider nur geändert wenn der curser (maus) innerhalb meines Fensters ist... klar... Ich wollte im Prinzip wissen, wie ich die Mausmessage bekomm auch wenn der Curser nicht in meinem Windows ist... zu den
SendWindowsHookEx hab ich garnix gefunden ! also bei google....wenn das die Lösung ist bitte kurz erklären

Danke mfg

-
So hab mir jetztz alles angeguckt! Ansich müsste ja SetCaption(mainhwnd) meine wal sein ... Nur wenn ich den Befehl benutzte, ändern sich nix daran, das die MouseMessages nur innerhalb des Fensters empfangen werden^^

helft!
mfg
-
So müßte es gehen:
case WM_PAINT BeginPaint(); TextOut(MausX); TextOut(MausY); EndPaint(); case WM_LBUTTONDOWN SetCapture(); case WM_LBUTTONUP ReleaseCapture(); //Maus wieder freigeben case WM_MOUSEMOVE MausX = ... MausY = ... InvalidateRect(); UpdateWindow();
-
Foxx90 schrieb:
zu den SendWindowsHookEx hab ich garnix gefunden !
Es heißt ja auch SetWindowsHookEx

-
Hi, mit GetCurserPos(&POINT) kann ich die Position der Maus herausbekommen ... aber leider nur solange die Maus sich innerhalb meines Fensters befindet...
seit wann das denn!?
-
Also ich glaub ich mach falsch ! Alle eure Ideen mit SetCaption funktionieren nicht! Die Koordinaten werden ans Fenster gesendet, wenn die Maus drin ist!
Was kann man falsch machen ? Ist evt ein Problem das ist dem Mainhwnd nur die Styles WS_VISIBLE | WS_SYSMENU übergeben hab ? ich wollte das man das Fenster nich verändern kann...mfg
-
gib mir bitte mal deine eMail.. hab vor kurzen son project gehabt.. und würde dir dann mal mein Quelltext geben... dann kannst dus dir mal anschaun.
Gruß Tobi.
-
-
Foxx90 schrieb:
Alle eure Ideen mit SetCaption funktionieren nicht!
Du meinst SetCapture() ?
Der Code von keksekekse funzt natürlich nur solange die linke Maus gedrückt ist
Je nachdem was du vorhast könnte GetCursorPos() und TrackMouseEvent() auch was für dich sein...
-
okay, kannst mal ins postfach schaun. habs dir geschickt
Gruß Tobi.
-
Hat geklaapt danke Tobi
Gruß Chris
-
alles klar...
ist zwar net der beste quelltext aber erfunktioniert
und du kannst dien mausspeed einstellen *g*, freut mich des alles klappt.Gruß Tobi.