Autor Beitrag
Leathl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 276



BeitragVerfasst: So 06.09.09 22:16 
Hallöle,

ich habe ein Problem mit einer spezifischen exe...
Wenn ich die exe normal über die Eingabeaufforderung mit Parametern starte, dann bekomme ich direkt einen Output.
Wenn ich das ganze nun aus meiner C# Applikation starte, dann kommt ein schwarzes Dos-Fenster und alles bleibt stehen.
Sobald ich irgendeine Taste drücke, bekomme ich den Output und kann ihn im Programm weiter verarbeiten.

Ich möchte das ganze im Endeffekt aber versteckt haben, doch wenn ich CreateNoWindow = true setze, dann bleibt das Programm stehen und wartet auf eine Eingabe, die niemals kommt...

Ich habe schon über den StandardInput versucht, das Programm zum weiterlaufen zu bewegen, doch es tut sich nichts, bis ich auf meiner Tastatur eine Taste drücke.

Gibt es irgendwie eine Möglichkeit, das ganze zum weitermachen zu bewegen. Ich bin ein wenig verwundert, da die exe normalerweise ihren Dienst ohne jegliche Eingabe verrichtet, mit anderen Programmen hatte ich auch noch nie Probleme aus C# heraus.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
ProcessStartInfo wdii = new ProcessStartInfo(@wdiexe, arg);
wdii.RedirectStandardOutput = true;
wdii.RedirectStandardError = true;
wdii.RedirectStandardInput = true;
wdii.UseShellExecute = false;

Process wdi = new Process();
wdi.StartInfo = wdii;
wdi.Start();

string Output = wdi.StandardOutput.ReadToEnd();

wdi.Close();


Grüße
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: So 06.09.09 22:44 
user profile iconLeathl hat folgendes geschrieben Zum zitierten Posting springen:
Wenn ich das ganze nun aus meiner C# Applikation starte, dann kommt ein schwarzes Dos-Fenster und alles bleibt stehen.
Und das passiert schon vor dem Output-Redirect? Sonst würde ich sagen, dass der Prozess zwar sofort zu schreiben loslegt, aber am Ende noch auf eine Eingabe wartet, während du auf das Ende des Prozesses wartest.

_________________
>λ=
Leathl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 276



BeitragVerfasst: So 06.09.09 22:55 
Das passiert vor allem anderen... Das lässt mich echt verzweifeln :?

//Edit: Wo ich nochmal drüber nachgedacht habe, wenn ich die exe normal mit Parametern starte, dann bekomme ich einen Output und das Programm wartet dann auf einen Tastendruck, bevor es sich beendet.

Kann also doch sein, dass er einfach auf einen Tastendruck wartet und mir solange den Output verwährt.
Gibt es eine Möglichkeit, das ganze zu umgehen und irgendwie an den Output zu kommen und den Prozess zu beenden oder soetwas?

//Edit2: Ok, habs hinbekommen... Das Programm hat einen Parameter, um die Eingabe zu überspringen (Stand nicht in der Hilfe) :D