![]() |
Mouse Bewegung überprüfen
Hi,
ich möchte (wie bei einem Bildschirmschoner) prüfen ob sich die Mouse bewegt, wenn ja wird das Programm geschlossen, es gibt da irgendeine möglichkeit mit den WindowsMessages, aber in der Unit finde ich nicht die procedure, gibt es noch andere Lösungen, oder könnt ihr mir die WindowsMessages Lösung sagen? |
Re: Mouse Bewegung überprüfen
Du kannst mit Mouse.CursorPos.X bzw Y die Position in einer Variable speichern und später überprüfen, ob sich die Position geändert hat.
|
Re: Mouse Bewegung überprüfen
Die Windows-Message, die beim Bewegen der Maus gesendet wird, heißt WM_MOUSEMOVE.
|
Re: Mouse Bewegung überprüfen
Für dich dürfte das hier wohl genügen:
Delphi-Quellcode:
Das ganze ist ein etwas umgebauter Code von
procedure TForm1.HandleMessage(var Msg:TMessage);
begin if Msg.msg = WM_MOUSEMOVE then Form1.Close(); Form1.wndproc(Msg); end; procedure TForm1.OnCreate(Sender:Tobject); begin Form1.Windowproc:=Form1.HandleMessage; end; ![]() |
Re: Mouse Bewegung überprüfen
Moin!
Empfehlung: überall "Form1." weglassen oder wenn, dann "Self." nehmen. Der Code ist nicht mehr brauchbar, wenn man die Form1 Variable nicht mehr nutzt oder hat. Warum eine Klasse die mehrfach instanziierbar ist dadurch auf eine Instanz beschränken auf die ihre Funktionalität wirkt? MfG Muetze1 |
Re: Mouse Bewegung überprüfen
Hi,
1. der Code läuft nicht (der Code erfüllt nicht den Sinn für einen Bildschirmschoner) 2.
Delphi-Quellcode:
wird leider wie der code von Airblader sofort geschlossen zumindest bei mir, das Create Ereignis benötigt man sowieso für den Bildschirmschoner, weil man ihn sonst nicht in den Desktop-Eigenschaften auswählen kann.
if ParamCount > 0 then begin
if ParamStr(1) = '/c' then else if ParamStr(1) = '/s' then else Application.Terminate; end else Application.Terminate; |
Re: Mouse Bewegung überprüfen
Was spricht denn gegen das OnMouseMove-Event? :gruebel:
|
Re: Mouse Bewegung überprüfen
Probiers aus, dann wird es dir schon auffallen, das OnMouseMove nur bedeuted, dass die Mouse sich über einem Objekt oder einer Form befindet.
|
Re: Mouse Bewegung überprüfen
![]() ![]() ... Diese Liste könnte noch so lang werden aber warum nicht einfach mal selber suchen? ![]() ![]() Warum suchen die Leute nicht erstmal... :roll: MFG Florian :hi: |
Re: Mouse Bewegung überprüfen
Delphi-Quellcode:
Wird in 3 Sekunden geschlossen ... verdammt.
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); begin inc(MMoveClose); if MMoveClose > 3 then close; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 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