Anregung Automatisierung User/GUI-Events(JAVA-Programmierung)

Aus Trader Wiki

Wechseln zu: Navigation, Suche

Dieses Wiki ist eher an etwas fortgeschritnere Programmierer gerichtet, bietet aber auch für Anfänger alles Schritt für Schritt.


Hallo zusammen,

Unständlicher Titel, könnte von einer Diplom Arbeit sein ;) Nikki Lauda meinte einmal zu den hochtechnisierten Autos der F1 ca 2001 sinngemäß: "Da könnte man auch ein Äffle reinsetzen"

Nun, in der Formel 1 vielleicht nicht so spannend, und was "des Äffle" uns Aktienboardlern hilft, das ich gleich vorstellen werde, das weiss ich auch nicht.


Ich will uns hier nur ein Werkzeug, eine einfache Möglichkeit an die Hand legen:


Ziel User-Eingaben zu automatisieren, wie vom Menschen gemacht. Also mit der Maus rumfuchtelns, klicken, Eingaben machen usw.


Vielleicht saßt Ihr ja schon morgen um 7 Uhr vor dem PC und habt immer wieder dasselbe gemacht.

Das Ganze implementiere ich mit JAVA. (haha, wie der Caffee) (Ich hoffe selbsterklärende) Kommentare sind im Quelltext


Was macht das nun mit meinem PC???!?!?

Es tippt -im wahrsten Sinne, wie auf der Tastaur -"hi aktienboard" und bewegt die Maus nach links oben. (100:100 Pixel) Mehr nicht, nur zur Demo. Öffnet etwas, wo das Programm auch wirklich etwas reintippen kann. zb notepad.

Wer ganz sicher gehen will sollte einen virtuellen PC benutzen, wozu ich später noch etwas schreibe.


In die Vollen! (Ich merke gerade, für den Anfäger doch etwas schwer) 2 Möglichkeiten, erst beide durchlesen. die Letzere ist die einfachere,..wohl


Am besten Eclipse herunterladen: http://www.eclipse.org/downloads/

erster link "Eclipse IDE for Java Developers" wenn man das zip-paket wählt, muss man es nicht mal installieren. einfach entpacken. exe (Windows) und los.

Datei-Neu- Neues Projekt, Java Projekt, am besten so bennen wie Name der Klasse unten. (MachMirDiesUndDas) Quellcode reinpasten. run.


Alternative: Vielleicht geht auch dies gleich (windows): start-ausführen- CMD eintippen dort eintippe : java wenns nicht command not found kommt, unteren quelltext in eine textdatei mit Namen MachMirDiesUndDas.java in notepad einfügen. -javac MachMirDiesUndDas.java -java MachMirDiesUndDas läuft...


Quelltext:


import java.awt.AWTException; import java.awt.Robot; import java.awt.event.KeyEvent;

public class MachMirDiesUndDas {

public static void main(String[] args) {

try {

Robot MachDas = new Robot(); // Neue Instanz der Robot-Klasse, heisst MachDas MachDas.delay(5000); // Ihr oeffnet in diesen 5 Sekunden Verzoegerung notepad

MachDas.keyPress(KeyEvent.VK_H); MachDas.keyPress(KeyEvent.VK_I); MachDas.keyPress(KeyEvent.VK_SPACE); MachDas.keyPress(KeyEvent.VK_A); MachDas.keyPress(KeyEvent.VK_K); MachDas.keyPress(KeyEvent.VK_T); MachDas.keyPress(KeyEvent.VK_I); MachDas.keyPress(KeyEvent.VK_E); MachDas.keyPress(KeyEvent.VK_N); MachDas.keyPress(KeyEvent.VK_B); MachDas.keyPress(KeyEvent.VK_O); MachDas.keyPress(KeyEvent.VK_A); MachDas.keyPress(KeyEvent.VK_R); MachDas.keyPress(KeyEvent.VK_D);

MachDas.keyRelease(KeyEvent.VK_D); // wichtig, sonst // Endlos-Schleife

// Jetzt bewegen wir die Maus noch nach links oben

MachDas.mouseMove(100, 100); // Einheit int, hier "Pixel"

} catch (AWTException e) { e.printStackTrace(); }

}




"Huwuuu , sehr gruselig"

lasst mal Eurer Kreativität den Lauf.... es ist jendenfalls sehr mächtig, und missbrauchen sollte man es nicht.

"Das ist mir zu stupide"

)

Ja, nur eine Demo.

Wenn man meint, eine Automatisierung irgendwann einmal im Entferntesten vermisst zu haben, aber Java noch nicht kann... Die ersten 2,3 Kapitel eines jeden Java-Buches helfen enorm weiter. (entscheidungen:if/else; Schleifen: while, for(;;)  ;)))) usw Damit kann man einen "Haufen" (was weis ich) anstellen! Wie ein Mensch vor dem PC "halt". ;)

Szenario:

Ich lese damit Kurse aus (strg+c) und verarbeite diese weiter.


Hier stehen alle Methoden (Möglichkeiten), die diese Klasse kann. http://java.sun.com/j2se/1.3/docs/api/java/awt/Robot.html

NACHTEIL: wenn das programm (skript eher) "rumfuhrwerkt", kann man an dem PC nicht mehr arbeiten. Deshalb nutze ich (nihct nur eine) virtuelle Maschienen. Von MS gib es zB Virtual PC kostenlos. Ist wie ein eigener PC.

Ein Grundgerüst wollte ich vorstellen.

Bildschirmfoto http://www.abload.de/img/bildschirmfoto-1mes.png

Alternativ AutoIt v3 ... geht einfacher, xenon.