![]() |
Mausbewegung abfragen
Hallo,
hab mir folgendes vorgestellt. Im Tray (Hintergrund) läuft ein Programm was aktiv wird wenn der Benutzer seinen Mauszeiger 30 Sekunden nicht bewegt. Muss dazu nur wissen wie ich die Musbewegung im Windows abfragen kann. Also wenn 30 Sekunden keine Mausbewegung dann ... Hat jemand eine Ahnung wie das geht? Danke schonaml im vorraus. |
Re: Mausbewegung abfragen
Installier einen Maus-Hook.
Siehe: SetWindowsHookEx Tip: die Hook-Routine muss in einer Dll stecken damit du global abfragen kanst. Ist die das zu komplex dann fang doch die Windows-Nachricht WM_SYSCOMMAND, SC_SCREENSAVE ab |
Re: Mausbewegung abfragen
Man könnte es auch so machen (nicht getestet):
Delphi-Quellcode:
Ich weiß aber nicht, ob's so geht!
var Ursprungsposition, AktuellePos: TPoint;
... procedure Button1Click(Sender:Tobject); begin GetCursorPos(Ursprungsposition); end; procedure TForm1.Timer1Timer(Sender: TObject); var i: integer; begin Timer1.Interval:=1000; GetCursorPos(AktuellePos); if (AktuellePos.x <> Ursprungsposition.x) or (AktuellePos.Y <> Ursprungsposition.Y) then inc(i); if i=3 then Color:=clred; //Code hinzufügen end; ![]() |
Re: Mausbewegung abfragen
danke erstmal ich schau mir das mal an, und spiel damit mal ein bisschen rum vielleicht kann ich es ja gebrauchen
|
Re: Mausbewegung abfragen
Sorry, ich hab einen kleinen Fehler gemacht:
Delphi-Quellcode:
muss global deklariert sein.
var i:integer;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:17 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