PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : VB.NET StandardInput in externe Anwendung umleiten


Gast
2012-10-30, 13:43:39
Ich möchte Befehle bzw. Text mit VB in eine durch VB aufgerufene Anwendung schreiben lassen z.B. Notepad, Putty etc.
Der Aufruf gelingt, aber es wird nichts geschrieben :(

Hier der relevante Auszug:

myProcess.StartInfo.FileName = "notepad"
myProcess.StartInfo.RedirectStandardInput = True
myProcess.StartInfo.RedirectStandardOutput = True
myProcess.StartInfo.RedirectStandardError = True
myProcess.StartInfo.CreateNoWindow = True
myProcess.StartInfo.UseShellExecute = False
myProcess.Start()

Dim tw As TextWriter bzw. StreamWriter
tw = myProcess.StandardInput
tw.WriteLine("bla")


Und hier das ganze Script:

del_4901
2012-10-30, 13:59:53
Damit kann man nur auf die Komandozeile schreiben und nicht in das Notepad-Fenster, falls es das ist was du versuchst.

PatkIllA
2012-10-30, 14:00:50
Notepad und Putty als GUI Anwendungen werden nicht den Standardinput verwenden. Das klappt nur mit Konsolenanwendungen.
In deinem Fall müsstest du dich mit Windows Messages rumschlagen.

edit:
zu langsam

Gast
2012-10-30, 14:30:40
Schade :( Ich bin kein Programmierer und habe keine Zeit und wohl auch Verstand mich mit Windows Messages zu befassen.
Aber wenn es mit Kommandozeile ginge, wäre es doch auch möglich, denn mir geht es im Grunde nur darum in einer SSH Verbindung Befehle einzugeben, das Notepad war nur ein Beispiel. Welches Befehlzeilen-SSH-Programm gibt es denn?

PatkIllA
2012-10-30, 14:36:43
Wenn du es in einem VB.NET Programm machen willst ist ein externes Programm der falsche Ansatz. Dafür gibt es Bibliotheken.
Wenn du nur einen festen Satz von Befehlen absetzen willst kannst du auch Skripte nach dem login ausführen lassen. Geht wahrscheinlich auch mit putty. In dem Skript könnte dann auch wieder eine gewisse Logik stecken.