Aloa ihr´s,
mal eine kleine Zusammenfassung womit ich nicht auf das gewünschte Ergebnis komme.
Eine Blitzschnelle Bewegung der Maus:
Zielpunkt -> Klick -> Ausgangspunkt, leider ist das nicht der gewünschte Effekt.
Delphi-Quellcode:
procedure TForm1.MakeMouseClick(AP: TPoint);
var
P:TPoint;
begin
if GetCursorPos(P)
then begin
SetCursorPos(AP.X, AP.Y);
Mouse_Event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
Mouse_Event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
SetCursorPos(P.X, P.Y);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
P:TPoint;
begin
P.X:=500;
P.Y:=500;
MakeMouseClick(P);
end;
Das gleiche wie eben nur halt in einer Procedure zusammen gefasst.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
P:TPoint;
X, Y:integer;
begin
X:=1240;
Y:=800;
if GetCursorPos(P)
then begin
SetCursorPos(X, Y);
Mouse_Event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
Mouse_Event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
SetCursorPos(X, Y);
end;
end;
Dieses zeigt bei mir keinen Effekt, die X und Y Koordinaten haben anscheinend keinen Einfluss.
Delphi-Quellcode:
procedure MakeMouseClick(AP: TPoint);
begin
Mouse_Event(MOUSEEVENTF_LEFTDOWN or MOUSEEVENTF_ABSOLUTE, AP.x, AP.y, 0, 0);
Mouse_Event(MOUSEEVENTF_LEFTUP or MOUSEEVENTF_ABSOLUTE, AP.x, AP.y, 0, 0);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
P:TPoint;
begin
P.X:=500;
P.Y:=500;
MakeMouseClick(P);
end;
Habe auch nach längerem, weiterem Stöbern nicht´s gefunden,
es geht anscheinend nicht.
Mit freundlichem Gruß
Lostriga