![]() |
Mauszeiger systemweit verstecken
Hallo,
ich brauche Tipps, wie ich den Mauszeiger global, also systemweit verstecken kann. Vielen Dank schon mal... |
Re: Mauszeiger systemweit verstecken
Wozu soll das gut sein?
|
Re: Mauszeiger systemweit verstecken
Damit man den Mauszeiger nicht mehr sieht?
Aber mal im Ernst: ich schreibe gerade einen Maushook. Dabei wird eine Bewegung des Scrollrades in eine y-Bewegung umgesetzt, wenn man gleichzeitig das Scrollrad drückt. Nun möchte ich noch erreichen, das bei gedrückter Scroll-Wheel-Taste der Cursor an seiner derzeitigen Position "kleben" bleibt, eine Bewegung der Maus also für den Benutzer nicht zu erkennen ist. Dazu möchte ich den Mauszeiger verstecken (und zwar nicht nur wie mit (Showcursor=FALSE, sondern für alle Fenster), und ihn an seiner "alten" Position auf den Bildschirm zeichnen.(Weiss noch nicht genau wie, vielleicht mit "Draw"?) Wozu man das braucht, kann ich hier nicht erklären. Ich hoffe das eine Beschreibung dessen, was ich mit meinem Programm erreichen will reicht. ;) |
Re: Mauszeiger systemweit verstecken
du kannst ja den Mauszeiger auch wieder "wirklich" an seiner alten Position positionieren, also mit
Delphi-Quellcode:
Es kann nämlich ziemlich kompliziert sein alle Mauszeigerbewegungen zu simulieren etc.
mouse.x/mouse.y:=oldpos
//oder mouse.position:=point(oldposx,oldposy) auf den Bildschirm zeichnen ist auch schwierig, aber du kannst auf den Desktop so zugreifen:
Delphi-Quellcode:
sobald dann allerdings das Fenster auf das du den Mauszeiger gezeichnet hast neu Gezeichnet wird (verschoben, verändert, etc.), verfallen die Änderungen.
canvas:=tcanvas.create;
canvas.handle:=getwindowdc(getdesktopwindow); canvas.dosomething; canvas.free; |
Re: Mauszeiger systemweit verstecken
Jau, danke für die Antwort.
Allerdings wird der Effekt ein anderer sein, als ich mir wünsche. Ich möchte, das ein Programm x merkt, das die Maus bewegt wird, der User aber denkt, das die Maus still steht. Bei der Lösung mit oldpos, merkt ja auch das Programm mix mehr von der Bewegung.Damit hätte ich ja wirklich den Cursor "festgenagelt". Ich möchte aber nur "das Bild festnageln", die Systemnachricht soll schon noch an das Programm gehen. Es währe cool, wenn ich die Nachricht zum Neuzeichnen des Cursors auf dem Bildschirm abfangen könnte. Dann könnte ich das Bild, welches mit dem Klick gezeichnet würde noch "durchlassen", die anderen "Neu-Zeichnen-Befehle" danach aber Wegfiltern. Ich hoffe es ist klar, was ich meine. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz