Tastendruck Simulieren

cobfreaky

Mitglied
Hallo Leute,

Wie lautet der Code, mit dem Ich Tastendrücke Simulieren kann?
Es geht um die Tasten "y" und "^".
Die Tasten sollten im Sekundentakt gedrückt werden, also muss der Code einfach in einen Timer, oder?

Gruß,
Cob
 

Zvoni

Erfahrenes Mitglied
Oder du postest etwas mehr Hintergrund zu deinem Problem.

Da du einen Timer erwähnst, gehe ich davon aus, dass du eine Form hast.

Sollen die Tastendrücke an ein externes Programm gesendet werden, oder soll es innerhalb deines Projekts landen?
 

cobfreaky

Mitglied
Für ein Externes Programm, genauer gesagt für das Spiel "Metin 2". Hier kann man durch drücken der "Y"-Taste Yang einsammeln, welches dort die Währung ist. Mit dem Zirkumflex sammelt man umliegende Gegenstände auf.
Manchmal liegen in meinem Umfeld unzählige Yangs rum und Ich muss dann immer einzeln drücken, dass nervt, dafür ist das Programm gedacht :)
Nochwas: Es ist erlaubt sowas zu Programmieren und verstößt nicht gegen die Regeln, ich habe ein Ticket geschrieben.
 

Zvoni

Erfahrenes Mitglied
Auszug aus der VB-Hilfe:

SendKeys-Anweisung

Sendet eine Tastenfolge (die aus einem oder mehreren Tastenanschlägen bestehen kann) an das aktive Fenster, als ob sie über die Tastatur eingegeben worden wäre.

So, jetzt musst du nur noch dafür sorgen, dass dein Spiel-Fenster immer das aktive Fenster ist, und dazu gibts massig Beispiele im Internet.

Falls es passieren kann, dass dein Spiel-Fenster nicht immer das aktive Fenster ist, ist die API "SendMessage" mit ihren Konstanten dein Freund.
 

cobfreaky

Mitglied
Code:
Private Sub Command1_Click()
Timer1.Interval = 1
End Sub

Private Sub Command2_Click()
Timer1.Interval = 0
End Sub

Private Sub Timer1_Timer()
SendKeys.Send "vbkeyy"
End Sub

Irgendwie geht der Code nicht. :(
Kann mir einer ein beispiel geben?
 
Zuletzt bearbeitet:

Zvoni

Erfahrenes Mitglied
Code:
Private Sub Command1_Click()
Timer1.Interval = 1
End Sub

Private Sub Command2_Click()
Timer1.Interval = 0
End Sub

Private Sub Timer1_Timer()
SendKeys.Send "vbkeyy"
End Sub
Irgendwie geht der Code nicht. :(
Kann mir einer ein beispiel geben?

SendKeys.Send vbkeyy

OHNE ANFÜHRUNGSZEICHEN!
vbKeyY ist eine VB-Konstante
 

cobfreaky

Mitglied
Habe ich gerade probiert, aber dann wird der Befehl "Sendkeys" blau hinterlegt und es kommt die Fehlermeldung: Argument not Optional

Zvoni, hast du evtl. ICQ, wo du mir helfen könntest?
 

Zvoni

Erfahrenes Mitglied
Wupps. Sorry! Mein Bock. Kommt davon, wenn man die VB-Hilfe nicht zu Ende liest.

Sendkeys "{y}"

So heisst es richtig. Nix mit SendKeys.Send