Anregung Automatisierung User/GUI-Events(JAVA-Programmierung): Unterschied zwischen den Versionen

Aus Trader Wiki

Wechseln zu: Navigation, Suche
Zeile 113: Zeile 113:
  
 
}
 
}
 +
 +
 +
 +
 +
 +
 +
'''"Huwuuu , sehr gruselig"'''
 +
 +
lasst mal Eurer Kreativität den Lauf....
  
  

Version vom 14. Juni 2008, 03:12 Uhr

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


Hallo zusammen,

Umstä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 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. (Ich hoffe selbsterklärende) Kommentare sind im Quelltext


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

Es tippt "hi aktienboard" und bewegt die Maus nach links oben. (100:100 Pixel) Mehr nicht, nur zur Demo.

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....


"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