Daten an einen externen Prozess (Dosbox) senden

22/09/2008 - 15:10 von Joerg Multhaup | Report spam
Hallo zusammen.

Ich habe folgendes Problem.

Ich starte aus meiner Anwendung heraus einen neuen Prozess der eine
SSH-Verbindung herstellt. Das funktioniert auch ganz gut nur erwartet der
aufgerufene Prozess nach einer weile noch eine Eingabe (Passwort) für die
SSH-Verbindung.

Wie kann ich die Eingabe aus meinem Programm an die Dosbox übergeben?
Mit SendKeys habe ich es schon probiert, das funktioniert zwar, aber wenn
die Dosbox nicht die aktive Anwenung ist, z.B. weil der Benutzer auf ein
anderes Fenster klickt, dann wird der Text an die falsche Anwendung geschickt.

Ausserdem wollte ich die Dosbox ohne Fenster starten.
Gibt es eine Möglichkeit den Text auf einem anderen Weg an den Prozess zu
senden?
Schön wàre die SendKeys-Funktionalitàt bei der man eine Process ID angeben
kann, an die der Text gesendet wird.

Bin für jeden Tip dankbar.

Viele Grüße
Jörg
 

Lesen sie die antworten

#1 Frank Dzaebel
22/09/2008 - 21:23 | Warnen spam
Hallo Joerg,

Wie kann ich die Eingabe aus meinem Programm
an die Dosbox übergeben? Mit SendKeys habe ich es
schon probiert, das funktioniert zwar, aber wenn
die Dosbox nicht die aktive Anwenung ist, z.B. weil
der Benutzer auf ein anderes Fenster klickt, dann
wird der Text an die falsche Anwendung geschickt.



Zum Beispiel mit SetForegroundWindow in den
Vordergrund holen (in Einzelfàllen auch AttachThreadInput).

[Erkennen einer bereits aktiven Programm-Instanz]
http://msdn.microsoft.com/de-de/lib...79551.aspx

Es gibt auch ne Menge anderer Methoden,
da Dein Szenario aber nicht deutlich ist,
nur Andeutungen ...

"ProcessStartInfo.RedirectStandardInput"

oder: in einer Shell direkt:
C:\Test> meinProg < input.txt

Google sonst in dieser Gruppe weiter danach.
Das gabs schon ein paar Mal.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen