![]() |
Mausklick auf Hintergrundfenster simulieren
Hi
Themen zu simulierten Mausklicks gibt es ja schon zu genüge aber ich würde gerne einen Masuklick auf eine bestimmte position in einem Fenster simulieren, das nicht sichtbar ist. Am besten wäre also wenn nur eine message gesendet wird, ohne dass sich der Mauszeiger bewegt Geht das überhaupt und wenn ja weiß jemand wie? |
Re: Mausklick auf Hintergrundfenster simulieren
sollte über SendMessage mittels WM_LBUTTONDOWN funktionieren
Siehe: ![]() |
Re: Mausklick auf Hintergrundfenster simulieren
Gut ich habe jetzt gefunden:
SendMessage(WM_LBUTTONDOWN,wparam,lparam); aber ich möchte ja auf eine koordinate klicken da schrieb jemand ![]() das ginge in etwa so : lParam = int(short(y) << 16) + short(x); aber ich weiß jetzt nicht was ich damit anfangen soll, denn was soll << sein. Und wenn ich das wegmache und die Koordinaten eingebe passiert nichts. |
Re: Mausklick auf Hintergrundfenster simulieren
mit << 16 könnte shl 16 gemeint sein
|
Re: Mausklick auf Hintergrundfenster simulieren
Also vielen Dank erstmal ich habe jetzt das:
Code:
254 und 243 sind x und y aber aus irgendeinem Grund klickt er nicht.
var wnd:Hwnd;
begin wnd:=findwindow(nil,'Fenster'); //GetWindowRect( if wnd<>0 then begin sendmessage(wnd,WM_LButtonDown,0, 254 + 243 shl 16); sendmessage(wnd,WM_LButtonUp,0,254 + 243 shl 16); end else showmessage('not found'); end; Ist da noch was falsch? |
Re: Mausklick auf Hintergrundfenster simulieren
Der cast auf ein 32bit Wert, der im beispiel noch mit drin ist, sonst schiebst du ins Leere
oder
Delphi-Quellcode:
€: ups :oops:
sendmessage(wnd,WM_LButtonUp,0,254 + (243 * (256*256)));
|
Re: Mausklick auf Hintergrundfenster simulieren
JA! super danke das geht schonmal.
Das Problem ist jetzt nur, wenn ich das fenster minimiere dann klickt er ganz wo anders hin. |
Re: Mausklick auf Hintergrundfenster simulieren
Hi,
Vllt musst du die Mausposition neu setzen wenn du das Fenster minimiert hast so:
Delphi-Quellcode:
SendMessage(wnd,WM_MouseMove,0,254 + 243 shl 16);
|
Re: Mausklick auf Hintergrundfenster simulieren
Aber er soll ja die Maus nicht bewegen sondern sie an der Stelle lassen, damit der Benutzer noch was anderes machen kann und das funktioniert ja auch nur wenn das Fenster minimiert ist, dann klickt er im Fenster ganz wo anders hin
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 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