![]() |
AW: Mausbewegung(!) simulieren
Relativ zu welchem Punkt sind denn Top und Left?
Und zu welchem Punkt ist die Mausposition relativ? Tja, da wirst du wohl umrechnen müssen. (PS: schau mal nach einer Methode des Buttons, welche mit Client anfängt und ein To enthält) |
AW: Mausbewegung(!) simulieren
so habe ich es nun:
Delphi-Quellcode:
bei manchen komponenten sind die endpositionen aber noch falsch.
var
P: TPoint; begin P.X := Label2.Left; P.Y := Label2.Top; P := Label2.ClientToScreen(P); MoveMouse(P.X - GetSystemMetrics(SM_CYSIZEFRAME), P.Y - GetSystemMetrics(SM_CYCAPTION) + GetSystemMetrics(SM_CYSIZEFRAME), 10); end; |
AW: Mausbewegung(!) simulieren
Vielleicht so...
Delphi-Quellcode:
procedure MoveMouse(X, Y, Speed: Cardinal);
var Maus: TPoint; mx, my, nx, ny, len: double; begin GetCursorPos(Maus); mx := Maus.X; my := Maus.Y; while (mx <> X) or (my <> Y) do begin nx := X - mx; ny := Y - my; len := sqrt(nx * nx + ny * ny); if len <= 1 then begin mx := X; my := Y; end else begin nx := nx / (len * 0.5); ny := ny / (len * 0.5); mx := mx + nx; my := my + ny; end; SetCursorPos(Round(mx), Round(my)); Sleep(Speed); end; end; procedure TForm1.Button1Click(Sender: TObject); var P:TPoint; begin P:=Self.ClientToScreen(Point( Button2.Left + (Button2.Width div 2), Button2.Top + (Button2.Height div 2) )); MoveMouse(P.X, P.Y, 10); end; |
AW: Mausbewegung(!) simulieren
kann es vielleicht daran liegen dass manche meiner komponenten auf panels liegen und ich die mit align = alleft oder alclient versehen habe?
|
AW: Mausbewegung(!) simulieren
Ja, und wenn du das so machst...
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin MouseToControl(Button2); end; procedure TForm1.MouseToControl(Control: TWinControl); var P:TPoint; begin P:=Control.Parent.ClientToScreen(Point( Control.Left + (Control.Width div 2), Control.Top + (Control.Height div 2) )); MoveMouse(P.X, P.Y, 10); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:53 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