Mouse Klicks simulieren?

Status
Nicht offen für weitere Antworten.

mobile

Bekanntes Mitglied
HI,

mein Programm ist jetzt soweit fertitg, jetz fehlt nur noch die Automatisierung. Habe mir dafür die Klasse java.awt.robot angesehen. Kann leider noch nicht viel damit anfangen. Habe fragen dazu.

1. Wie kann ich die Position des Buttons auf den ich klicken will ausfindig machen, ist ja nicht in meinem eigenen sondern in einem fremden Programm (möglichst unabhängig vom Rechner, soll auf mehreren Rechner laufen)?

2. Wie kann ich dann den Mausklick simulieren?

3. Wenn ich den ersten Klick simuliert habe wie bewege ich den Zeiger dann wieder zu einem anderen und klicke erneut usw.?

Hoffe ihr könnt mir schnell ung gut helfen! Danke!

Gruß
timkon
 
1.) Geht nicht. Zumindest nicht in Java. [Edit]Zumindest weiss ICH nicht, wie's geht... Bin ja auch nur Laie 😎 [/Edit]

2.) java.awt.Robot#mousePress(int buttons)

3.) java.awt.Robot#mouseMove(int xCoordinate, int yCoordinate)

P.S.: Wenn zwischendrinn Pausen gemacht werden sollen, benutz die Funktion delay(int milisec).

Übrigens: Wenn du dir java.awt.Robot wirklich mal angesehen hättest, hättest du das auch alleine lösen können 😎
 
Danke für die Hilfe!

Ok, also nehme ich mousemove und mousepress und vielleicht noch wartezeit. So aber wie wende ich das jetzt an? In Quelltext umgesetzt? Das ist ja mein Problem?
 
Wie Faul kann man denn sein? Probier doch einfach mal ein wenig aus, bevor du postest...

Hier haste ein wenig Beispielcode:

Code:
java.awt.Robot robot = new java.awt.Robot();
robot.mouseMove(100,100); //Zu den Bildschirmkoordinaten 100x und 100y gehen
robot.delay(10000); //10 Sekunden warten
robot.mousePress(java.awt.Robot.BUTTON1_MASK); //Linke Maustaste betätigen

[Edit]
JPKI hat gesagt.:
Wie Faul kann man denn sein?
Es muss heissen "Wie faul kann man denn sein" (Adjektive werden immer noch klein geschrieben... :wink: 😎 [/Edit]
 
Bin ich faul, probier hier schon ziemlich lange, aber wenn man keine Ahnung hat wie...

Ok... also funktioniert schon fast. Aber wenn ich jetzt auf nem anderen PC ne andere Auflösung habe oder das Programm an nem anderen Ort ist dann müsste ich ja die Koordinaten ändern oder?

Nur, der Befehl für den Mausklick geht irgendwie nicht.
 
Naja, wie du die Koordinaten rausbekommen willst, ist mir sowieso schleierhaft, da dies wie du bereits sagtest, bei jedem PC sowieso unterschiedlich ist. Und was machst du, wenn der Endbenutzer das Fenster mit dem/den Button/s verschiebt, die angeklickt werden sollen...?

Nochwas: Im Installationsordner deines JDK's befindet sich so eine wunderbare Datei "src.zip", in der alle Quellcodes der Standardbibliothek enthalten sind. Bei Problemen schau ich dort immer als erstes nach...

Wenn du Eclipse benutzt und kein JDK installiert hast (was ich mir nicht vorstellen kann) lad's dir runter...
 
naja eben deswegen sage ich das ja.. gibts da keine andere Lösung? Habe irgendwas mit screenshots der so gesehen..

Wie sieht das jetzt mit dem Mouseklick aus?
 
Probier doch einfach mal ein wenig mit MousePress aus und
Guck mir mal mein obiges Edit an...
 
Dank dir erstma für deine Hilfe, denke ich werde dass dann mal doch lieber lassen, weil das gibt dann ja eh nur Probleme! Obwohl son voll automatisches Reinigungssystem hätte natürlich was...
 
Kannst ja mal nach einer Java Library suchen, die das Unterstützt (ginge warscheinlich nur mit einer nativen Implementierung... :!: :meld: ). Schau einfach mal bei Google usw. vorbei! :###

Wenn du keine Fragen zu diesem Thema mehr hast, hak' den Thread noch ab. (Heisst es "haken" oder doch "harken" 😎 😳 ?)
 
der mausklick geht auch nicht, weil du die maus nur drückst, aber nicht loslässt.

mach nach dem mousepress noch ein mouserelease
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben