Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Mausklick an Fenster senden (https://www.delphipraxis.net/92761-mausklick-fenster-senden.html)

idontwantaname 25. Mai 2007 13:46


Mausklick an Fenster senden
 
Hallo!

Ich suche nach einer Möglichkeit, einem Fenster einen simulierten Mausklick zu senden. Ich möchte jedoch nicht, dass die Maus an diese Stelle gesetzt werden und das Fenster im Vordergrund liegen muss. Denn dann könnte ich auch mittels MSDN-Library durchsuchenmouse_event z.B. arbeiten.

Ich habe mir überlegt, ich schicke an das Fenster eine Message, doch leider funktioniert dies nicht.
Delphi-Quellcode:
SendMessage(Self.Handle, WM_LBUTTONDOWN, MK_LBUTTON, MakeLParam(50, 50));
SendMessage(Self.Handle, WM_LBUTTONUP, 0, MakeLParam(50, 50));
Weiß jemand, wie ich das bewerkstellige bzw. ob es denn überhaupt geht?

lg oli

DeddyH 25. Mai 2007 14:18

Re: Mausklick an Fenster senden
 
Hallo,

evtl. hilft Dir dieser Artikel weiter.

willnix 25. Mai 2007 14:40

Re: Mausklick an Fenster senden
 
Achtung! Total unprofessionelle, subjektive Antwort :mrgreen: :
Bei mir funktioniert das manchmal nur wenn ich anstatt SendMessage, PostMessage verwende.
Keine Ahnung warum.
Willnix

idontwantaname 25. Mai 2007 14:56

Re: Mausklick an Fenster senden
 
MSDN-Library durchsuchenSendInput ist leider nur die "neuere" Variante von MSDN-Library durchsuchenmouse_event, weshalb sie mir ebenso nicht hilf. MSDN-Library durchsuchenPostMessage macht auch keinen Unterschied, was ich jedoch auch nicht erwartet habe.

SirThornberry 25. Mai 2007 15:31

Re: Mausklick an Fenster senden
 
Zitat:

Ich habe mir überlegt, ich schicke an das Fenster eine Message, doch leider funktioniert dies nicht.
könntest du "funktioniert...nicht" etwas genauer ausdrücken? welchen Rückgabewert bekommst du von SendMessage?

Zitat:

Ich habe mir überlegt, ich schicke an das Fenster eine Message,
warum sendest du die Message dann an "Self.Handle"? damit schickst du die Message doch dir selbst.

und sind die Koordianten auch korrekt? Wenn diese außerhalb des Bereichs liegen kann es durchaus sein das dein Fenster diese dann gar nicht verarbeiten will (Zum Beispiel wenn man auf diese Weise einen Buttonklick simuliert funktioniert es nur wenn die Koordinaten auch im Bereich des Buttons sind)


Alle Zeitangaben in WEZ +1. Es ist jetzt 19: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