Tastendruck simulieren | SendKeys

Status
Nicht offen für weitere Antworten.

Hutmacher

Bekanntes Mitglied
In VB.NET gibt es die SendKeys-Methode, die einen Tastaturanschlag simuliert.

Für ein kleines Spaßprogramm für die übermorgige LAN wollte ich ein kleines Programm erstellen, welches alle 5 Minuten die Windows-taste drückt ^^

Aber wie realisiere ich, dass der Druck simuliert wird?

PS: Gibt es in Java irgendwie einen JTimer? ;P
 

0x7F800000

Top Contributor
In VB.NET gibt es die SendKeys-Methode, die einen Tastaturanschlag simuliert.
In java instanziiere man ein exemplar der Klasse Robot (einfach ein leerer Konstruktor, nichts zu beachten) und rufe dann die Methoden keyPress() und keyRelease() auf.

PS: Gibt es in Java irgendwie einen JTimer? ;P
Let me google that for you

Allerdings finde ich die Klasse irgendwie unnötig, mach einen stinknormalen Thread der alle fünf Minuten auf diese komische Taste drückt, und gut ist.

[edit] Ich sehe: man kann's auch anders sehen^^
optimal natürlich
Quartz - Quartz Overview
..aber wenig heftig für dein vorhaben
[/edit]
Übrigens: da java so BS-unabhängig ist.... Was ist da die "windows-taste" denn? ???:L
 

Der Müde Joe

Top Contributor
>Was ist da die "windows-taste" denn?

Bei mir heissen die: Super R und Super L ;-)

EDIT:
>Ich sehe: man kann's auch anders sehen^^

Sollte mehr eine Info sein, was es alles noch so gibt im grösseren Stil
 

Hutmacher

Bekanntes Mitglied
Und wie mache ich einen Thread, der alle 5 Minuten reagiert?
(ich habe mir so eine vage Klasse erstellt :bahnhof:)

Übrigens zum Robot ... nichts zu beachten?^^
crn3mf8a.jpg


Hierzu steht in der API:
Note that some platforms require special privileges or extensions to access low-level input control. If the current platform configuration does not allow input control, an AWTException will be thrown when trying to construct Robot objects.

Und was soll ich jetzt machen????:L


EDIT:
Um noch einen draufzusetzen:
mskajw28.jpg

Wieso geht das schon wieder nicht?
 
Zuletzt bearbeitet:

0x7F800000

Top Contributor
________________________________________________________________________________________
klicken.jpg

________________________________________________________________________

Noch nicht mal mit dem kapitel über Exceptions durch, aber erstmal mit Robots und Threads rumballern oder wie?:autsch:
 
Zuletzt bearbeitet:

Hutmacher

Bekanntes Mitglied
Wtf >.<
Sorry, das kommt davon, wenn man X Seiten Theorie macht und dann proggt ...
Das heißt also, ich könnte gleich die ganze run-Methode in try-catch-Blöcke setzen ... verdammt, ich hasse die.

Der letztendlich funktionierende Code, falls es jemanden interessieren sollte, ist:
[HIGHLIGHT="Java"]import java.awt.Robot;
import java.awt.event.KeyEvent;

public class Main
{
public static void main(String[] args)
{
Thread t1 = new WindowsKeySenderThread(5000);
t1.start();
}
}

class WindowsKeySenderThread extends Thread
{
private static final short windowsTaste= KeyEvent.VK_WINDOWS; //Klassenvariablen
private int interval; //Instanzvariablen

WindowsKeySenderThread(int interval) //Konstruktor
{
this.interval = interval;
}

public void setInterval(int interval) //Setter & Getter
{
this.interval = interval;
}
public int getInterval()
{
return this.interval;
}

@Override
public void run()
{
try
{
Robot keySender = new Robot();
keySender.keyPress(windowsTaste);
keySender.keyRelease(windowsTaste);

sleep(this.getInterval());

run(); //Rekursive Wiederholung
}
catch (Exception e)
{
System.out.print(e);
}
}
}[/HIGHLIGHT]
 

musiKk

Top Contributor
Mach mal die "rekursive Wiederholung" weg und lieber ein while oder sowas drum. Sieht sehr funktional aus, aber Java hat keine Endrekur... ach egal, einfach weg.
Die Robot-Klasse hat übrigens ein eingebautes sleep. Das heißt da nur delay.
 

0x7F800000

Top Contributor
//Rekursive wiederholung
Ich mag deklarative/funktionale sprachen auch, aber sowas hat in java wirklich nichts verloren :noe: Meisten Compiler unterstützen wirklich keine Endrekursion, da hat musiKk vollkommen recht. Aber auch einfach nur weil man in Java mit solchen Stunts nicht rechnet, wäre es schon "schlechter codestil", der den sinn verschleiert.
 

diggaa1984

Top Contributor
frag mich nur warum man das auf ner LAN will ... hast bestimmt noch n Parameter den du auf deinem Rechner beim Aufruf mitgibst, der genau dann nicht diese Events triggern lässt .. und alle andern müssen sich damit rumschlagen ... als Tarnmantel steckst noch irgendne komische Funktionalität rein (Stoppuhr oder so ^^). Und immer wenn bei denen der Desktop aufblitzt, springst du um die Ecke und erledigst gemäß Gaming-Convention deine Widersacher, welche dann grad mal 5s still stehen ???:L:eek:

Wann das soweit ist, hörst ja dann aum Raunen im Raum :lol:
 
Zuletzt bearbeitet:

0x7F800000

Top Contributor
frag mich nur warum man das auf ner LAN will ... hast bestimmt noch n Parameter den du bei deinem Rechner beim aufruf mitgibst, der genau dann nicht diese Events triggern lässt .. und alle andern müssen sich damit rumschlagen ... als Tarnmantel steckst noch irgendne komische Funktionalität rein (Stoppuhr oder so ^^). Und immer wenn bei denen der Desktop aufblitzt, springst du um die Ecke und erledigst gemäß Gaming-Convention deine Widersacher, welche dann grad mal 5s still stehen?! :lol:
sowas ist schon extrem tödlich :eek: habe aus diesem grund früher immer diese verfluchten windows-tasten aus den tastaturen rausgerissen. Ebenso die "power"-taste, die ich mal auf einer tastatur hatte... War auch noch direkt neben der Screenshot-taste :autsch:
"Yuhu, ein glänzender Sieg, mach ich nochmal schnell ein Screenshot bevor das spiel zu ende ist"-...pc fährt runter...-"öhm? O_O "-...-"wtf? Ò_ó "

...schon gut mitgedacht, wer auch immer die tastatur entworfen hat :autsch:
 
Zuletzt bearbeitet:

diggaa1984

Top Contributor
jo hab bei mir auch gaaaaanz rechts oben nen "suspend"-knopf .. meist bin ich da beim getränk abstellen hängen geblieben .. blub rechner geht in standby :eek:
fatal-fail :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Tastendruck simulieren Java Basics - Anfänger-Themen 13
T Tastendruck simulieren in JPanel Java Basics - Anfänger-Themen 3
J Wie kann ich Images per Tastendruck anzeigen/einfügen? Java Basics - Anfänger-Themen 3
B Tastendruck zurücksetzen Java Basics - Anfänger-Themen 4
F Langer Tastendruck bei Fernbedienung Java Basics - Anfänger-Themen 3
S Beliebigen Tastendruck "einlesen" (ohne Konsole) Java Basics - Anfänger-Themen 3
TheSorm java Schleife beenden per Tastendruck Java Basics - Anfänger-Themen 10
C Greenfoot: Bei Tastendruck und best. Wert Bild ändern Java Basics - Anfänger-Themen 2
P Klassen Bei KeyEvent in KeyListener den Tastendruck abbrechen Java Basics - Anfänger-Themen 5
X Erste Schritte Spielstart per Tastendruck Java Basics - Anfänger-Themen 10
U Thread reagiert nicht sofort auf Tastendruck Java Basics - Anfänger-Themen 14
Draculajr Tastendruck abwarten Java Basics - Anfänger-Themen 5
S Schleife per Tastendruck abbrechen Java Basics - Anfänger-Themen 7
R Aktion bei Tastendruck Java Basics - Anfänger-Themen 5
E Programmsteuerung per Tastendruck Java Basics - Anfänger-Themen 4
G Tastendruck Java Basics - Anfänger-Themen 13
S Tastendruck abweisen Java Basics - Anfänger-Themen 7
T reaktion auf Tastendruck Java Basics - Anfänger-Themen 2
M Tastendruck. Java Basics - Anfänger-Themen 2
P String zu Date bei jedem Tastendruck parsen Java Basics - Anfänger-Themen 3
S Programmierung simulieren - aber wie?! Java Basics - Anfänger-Themen 3
T Tastatur mit robot ß ^ und @ simulieren Java Basics - Anfänger-Themen 4
N Tastatur simulieren Java Basics - Anfänger-Themen 4
L Enter simulieren Java Basics - Anfänger-Themen 10
R EOF simulieren Java Basics - Anfänger-Themen 2
A dynamisches Array simulieren Java Basics - Anfänger-Themen 8
I USB-Gerät simulieren Java Basics - Anfänger-Themen 4
S ANT - for Schleife simulieren? Java Basics - Anfänger-Themen 1
M Prüfung simulieren Java Basics - Anfänger-Themen 4
J Klick der ein Javascript ausfuehrt simulieren? Java Basics - Anfänger-Themen 2
B Mäusepopulation durch Threads simulieren. Java Basics - Anfänger-Themen 2
S Regelkreis simulieren Java Basics - Anfänger-Themen 4
L Mausbewegung sehen und simulieren Java Basics - Anfänger-Themen 2
L JEditorpane Mausklick simulieren Java Basics - Anfänger-Themen 6
R Mausklick simulieren Java Basics - Anfänger-Themen 5
D ActionEvent simulieren ? Java Basics - Anfänger-Themen 7
G Maus+Tastatur aktionen simulieren? Java Basics - Anfänger-Themen 5
B Tasteneingaben simulieren? Java Basics - Anfänger-Themen 3
T Kann man in einer Anwendung Eingaben simulieren? Java Basics - Anfänger-Themen 8
F Wie kann ich das Drücken der Tabulatortaste simulieren Java Basics - Anfänger-Themen 2
R SendKeys in Java Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben