Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi mausklick simulieren (https://www.delphipraxis.net/97175-mausklick-simulieren.html)

woppa 6. Aug 2007 11:37


mausklick simulieren
 
Hallo,

Ich habe ein Programm das bestimmte Mausklicks simuliert.
Dieses verwendet jedoch die Standartmaus.

Ist es möglich Mausklicks zu simulieren ohne das die Maus verwendet wird.
Und das das Programm im Hintergrund weiterläuft ohne die Maus selbst zu bewegen?

mfg

Apollonius 6. Aug 2007 11:46

Re: mausklick simulieren
 
Das einfachste wäre wohl:
1. Mausposition speichern (getCursorPos)
2. Maus zum Ziel bewegen
3. Klicken
4. Maus zurückbewegen

Sonst bliebe dir noch die Variante mit Messages. Da dürfte es im Forum aber auch einiges zu finden geben.

woppa 6. Aug 2007 11:50

Re: mausklick simulieren
 
Danke, aber bis jetzt mache ich es so.

Ich möchte das die Maus dazu nicht verwendet wird.
Also das ich etwas anderes machen kann und die Mausklicks werden im Hintergrund auf dem Programm simuleirt!

mfg

Apollonius 6. Aug 2007 12:04

Re: mausklick simulieren
 
Das "Zielprogramm" ist also gar nicht zwingend sichtbar? Dann musst du mit Windows-Nachrichten arbeiten. Eine Funktion findest du hier. Das Handle kannst du z.B. findWindow und findWindowEx bekommen. Ich empfehle dir für genauere Informationen über die Funktionsweise die Suche.

woppa 6. Aug 2007 12:17

Re: mausklick simulieren
 
danke!

ich werde mich damit auseinander setzen!

mfg

SirThornberry 6. Aug 2007 13:12

Re: mausklick simulieren
 
Ohne die richtige Maus zu verwenden wird es schwer. Denn sobald ein Programm mit GetCursorPos abfragt wo die maus ist kannst du das nur durch setzen der richtigen Maus beeinflussen. Selbst wenn du mit Messages arbeitest kann es sein das, das Programm zusätzlich prüft ob die Maus auch über dem Button ist (zum Beispiel wenn nicht mit Buttons etc. im Windowssinne gearbeitet wird)


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz