![]() |
Maus außerhalb des Delphi-Programms steuern
Kann mir jemand folgendes erklären oder mir einen Quelltext geben, der das Folgende macht, weil ich keine Ahnung von der Windows API habe, aber dieses Programm dringend brauche:
Und zwar geht es darum, dass ich aus meinem Delphi-Programm heraus die Maus steuern muss. Zum Beispiel soll mein Programm die Maus auf das Wordsymbol auf dem Desktop bewegen, einen Doppelklick ausführen und Word damit öffnen und dann in Word auf den Menüpunkt "Datei" und "Beenden" klicken. Selbstverständlich sind die Anwendungen, für die ich dieses Programm benötige, wesentlich komplizierter, aber wenn ich so weit wäre, wäre ich schon ein gutes Stück weiter. |
Re: Maus außerhalb des Delphi-Programms steuern
Moin Cuchulainn,
was genau willst Du denn erreichen? Gerade Office Komponenten lässt sich auf anderem Wege deutlich besser steuern (siehe Registerkarte Servers in der IDE). Und starten ginge über ShellExecute auch deutlich einfacher. Bei Verwendung des Cursors stehst Du immer vor dem Problem, dass Du erst einmal herausbekommen musst, wo Du klicken musst, was gerade bei sich verändernden Menüs recht schwierig werden dürfte. |
Re: Maus außerhalb des Delphi-Programms steuern
Liste der Anhänge anzeigen (Anzahl: 1)
Zum Mausbewegen hab ich was, aber wie Mausklicks simuliert werden weis ich nicht mehr.
Hab's lange nicht mehr benötigt und auch nichts dazu gefunden. |
Re: Maus außerhalb des Delphi-Programms steuern
@himitsu: jetzt hab ich ja einen tollen Cursor. :mrgreen:
Gleich mal wieder in der Systemsteuerung umstellen. ;) Edit: Ja toll, jetzt sind die 3 Quadrate mein Standard-Zeiger, ich will den normalen Cursor. :cry: Edit2: ![]() |
Re: Maus außerhalb des Delphi-Programms steuern
Hallo,
Zitat:
Delphi-Quellcode:
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); // linker Mausklick down
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); // linker Mausklick up Zitat:
hoffentlich spekulieren wir nicht nur ins Blaue hinein :mrgreen: |
Re: Maus außerhalb des Delphi-Programms steuern
Dass ich Programme wie Excel, Word und Outlook fernsteuern kann, habe ich schon rausgefunden bzw. rausfinden müssen ;) Es geht darum, die Tests für ein Programm, das Kollegen geschrieben haben, zu automatisieren. Aber ich habe eine Möglichkeit gefunden:
Delphi-Quellcode:
Mit der Funktion lasse ich mir mit einem Timer die Mauskoordinaten anzeigen. Dann arbeite ich mit folgendem:
procedure TForm1.ProcMausposBestimmen;
var MausPos : TPoint; begin MausPos := Mouse.CursorPos; label1.Caption:=IntToStr(MausPos.x); //x-Koordinate des Zeigers label2.Caption:=IntToStr(MausPos.y); //y-Koordinate des Zeigers end;
Delphi-Quellcode:
Falls es mal jemanden interessieren sollte :) Das funktioniert so ganz gut.
SetCursorPos(265, 47);
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); SetCursorPos(288, 143); mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:40 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