Laden...

Gestartetem Prozess Tastatureingabe "simulieren"?

Erstellt von CaptainIglo vor 17 Jahren Letzter Beitrag vor 15 Jahren 4.636 Views
C
CaptainIglo Themenstarter:in
366 Beiträge seit 2005
vor 17 Jahren
Gestartetem Prozess Tastatureingabe "simulieren"?

Hi ich starte mit folgendem Code eine Anwendung (startet eine Kommandozeile) aus meiner heraus:

private void btnStream_Click(object sender, EventArgs e)
        {
            vlc.StartInfo.FileName = @"VLC\vlc.exe";
            vlc.StartInfo.Arguments = @"-vvv -I rc C:\robots.avi --sout #standard{access=mmsh,mux=asf,dst:localhost:8080}";
            vlc.StartInfo.CreateNoWindow = true;
            vlc.StartInfo.UseShellExecute = false;
            vlc.StartInfo.RedirectStandardInput = true;
            vlc.StartInfo.RedirectStandardOutput = true;
            vlc.Start();
        }

Und dann versuche ich mit folgenden eine eingabe zu tätigen:

private void buttonSeek_Click(object sender, EventArgs e)
        {
            vlc.StandardInput.WriteLine("seek 10");
        } 

Wenn ich die Redirect's nicht mache, kann ich in der manuellen Eingabe von "seek 10" und Enter den gewünschten Befehl ausführen, bei obigem passiert aber GAR NICHTS, auch der Output wird immer noch in der geöffneten Kommandozeile ausgegeben und nicht umgeleitet.

Wer kann mir helfen?

mfg
Capt.Iglo

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo CaptainIglo,

eigentlich sollte es so gehen.

herbivore

X
2 Beiträge seit 2007
vor 17 Jahren

Hi CaptainIglo,

dein Post ist zwar schon über zwei Wochen alt, aber
vlc.StandardInput.WriteLine("seek 10");
bringt gar nichts, weil VLC keine Befehle vom StdIn liest ( '-I rc' öffnet eine zusätzliche, VLC-eigene Shell).

Bin selber auch auf der Suche, wie man das Problem umgehen könnte. Hab's schon via telnet-Interface versucht, hat aber nicht wirklich geklappt.
Hast du mittlerweile eine Lösung gefunden?

C
CaptainIglo Themenstarter:in
366 Beiträge seit 2005
vor 16 Jahren

Hi,

da bin ich gerade wieder einmal über einen alten Thread von mir gestolpert...

@Xineoph:
Hab irgenwie keine Mail bekommen, das da noch ein Post kam, deshalb erst so eine späte (und auch eher zufällige) Meldung meinerseits:
Ich habe das mit dem VLC über ein directes wrappen der libvlc.dll in C# gelöst.
Damit habe ich die "totale Kontrolle" über VLC. Falls du noch eine Lösung sucht, kann ich dir die Klasse zum Wrappen gerne zukommen lassen.

X
2 Beiträge seit 2007
vor 16 Jahren

Hallo CaptainIglo

Danke, für die Antwort! Ist wirklich schon eine Weile her... Aber ich bin damals zum selben Schluss gekommen und habe ebenfalls einen Wrapper für die libvlc.dll geschrieben. 😉

S
22 Beiträge seit 2006
vor 15 Jahren

...Falls du noch eine Lösung sucht, kann ich dir die Klasse zum Wrappen gerne zukommen lassen.

Hallo!

Ich weis, ich komme sehr, sehr spät, aber ich bekomme es selber nicht so richtig hin...

Ich wäre interessiert um mir das mal anzugucken...

Gruß Sypher

C
CaptainIglo Themenstarter:in
366 Beiträge seit 2005
vor 15 Jahren

Hier die Wrapper-Klasse, welche ich verwendet habe:
http://code.assembla.com/NHT/subversion/nodes/SourceCode/VLC.net

S
22 Beiträge seit 2006
vor 15 Jahren

Danke für die superschnelle Antwort!

Ich werde das mal ausprobieren, hatte es nämlich vorher mit dem rc-interface gelöst gehabt (TCP-Client und dann Befehler rüberjagen...).

Gruß Sypher