Eingabe per Batch automatisieren

Hallo,

folgendes Problem: ein Programm startet auf einem Rechner automatisch. Nun soll per Batch o.Ä. ein Tastaturkommando z.B. „Strg x“ augeführt werden. Anschließend „Strg a“ usw. Ich hab hier die Foren schon durchstöbert und einige gute Ansätze gefunden.So nach dem Motto:

"Man erzeugt eine Datei mit der/den nötigen Antworten; z.B. „j“,„a“,Enter bzw. 6A 61 0D (Hex), nennt sie z.B. ja.ant und definiert sie als Standardinput für das Programm:
progamm.exe

Du könntest z.B. den Windows Scripting Host dafür verwenden.
Die Klasse WScript.Shell hat die praktische Methode SendKeys:

Beispiel (in test.vbs speichern und von der Kommandozeile aus aufrufen):

dim wsh : set wsh = CreateObject("WScript.Shell")
wsh.Run("notepad.exe")
WScript.Sleep 500
wsh.AppActivate("Unbenannt - Editor")
wsh.SendKeys("Hello")
wsh.SendKeys("{ENTER}")
wsh.SendKeys("World")

Gruß,
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Stefan,

unter

http://www.autohotkey.com

gibt es AutoHotkey, ein OpenSource-Tool fuer Windows, mit dem sich deine Probleme in Nullkommanix lösen lassen müßten. Wurde in der letzten c’t kurz besprochen, ich habs daraufhin mal ausprobiert und bin absolut begeistert.

gruss
bernhard

Hallo Martin!

Du könntest z.B. den Windows Scripting Host dafür verwenden.
Die Klasse WScript.Shell hat die praktische Methode SendKeys:
[…Listing…]

Danke, danke, danke!

Ich habe den Thread mitgelesen und Du hast mir „beiläufig“ damit auch geholfen! :smile:

CU DannyFox64