AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Maus außerhalb des Delphi-Programms steuern
Thema durchsuchen
Ansicht
Themen-Optionen

Maus außerhalb des Delphi-Programms steuern

Ein Thema von Cuchulainn · begonnen am 10. Nov 2003 · letzter Beitrag vom 11. Nov 2003
Antwort Antwort
Cuchulainn

Registriert seit: 26. Aug 2003
182 Beiträge
 
Delphi 5 Enterprise
 
#1

Maus außerhalb des Delphi-Programms steuern

  Alt 10. Nov 2003, 08:41
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.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Maus außerhalb des Delphi-Programms steuern

  Alt 10. Nov 2003, 19:25
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.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.163 Beiträge
 
Delphi 12 Athens
 
#3

Re: Maus außerhalb des Delphi-Programms steuern

  Alt 10. Nov 2003, 19:38
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.
Angehängte Dateien
Dateityp: exe system_cursor_189.exe (64,2 KB, 48x aufgerufen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Maus außerhalb des Delphi-Programms steuern

  Alt 10. Nov 2003, 19:46
@himitsu: jetzt hab ich ja einen tollen Cursor.

Gleich mal wieder in der Systemsteuerung umstellen.

Edit: Ja toll, jetzt sind die 3 Quadrate mein Standard-Zeiger, ich will den normalen Cursor.
Edit2: http://www.delphipraxis.net/internal...?p=93707#93707
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Maus außerhalb des Delphi-Programms steuern

  Alt 10. Nov 2003, 19:47
Hallo,
Zitat von himitsu:
...aber wie Mausklicks simuliert werden weis ich nicht mehr...
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 von OH:
The mouse_event function synthesizes mouse motion and button clicks.

VOID mouse_event(
DWORD dwFlags, // flags specifying various motion/click variants
DWORD dx, // horizontal mouse position or position change
DWORD dy, // vertical mouse position or position change
DWORD dwData, // amount of wheel movement
DWORD dwExtraInfo // 32 bits of application-defined information
);

hoffentlich spekulieren wir nicht nur ins Blaue hinein
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Cuchulainn

Registriert seit: 26. Aug 2003
182 Beiträge
 
Delphi 5 Enterprise
 
#6

Re: Maus außerhalb des Delphi-Programms steuern

  Alt 11. Nov 2003, 06:10
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:
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;
Mit der Funktion lasse ich mir mit einem Timer die Mauskoordinaten anzeigen. Dann arbeite ich mit folgendem:
Delphi-Quellcode:
     SetCursorPos(265, 47);
     mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
     SetCursorPos(288, 143);
     mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
Falls es mal jemanden interessieren sollte Das funktioniert so ganz gut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz