Ich versuche, einen Prozess auf einem Remotecomputer mithilfe der System.Diagnostics.Process-Klasse zu erstellen. Ich kann einen Prozess erstellen. Das Problem ist jedoch, dass das Erstellen eines Dienstes lange dauert und das Konsolenfenster angezeigt wird. Eine andere ärgerliche Sache ist, dass das Konsolenfenster über meinem Windows-Formular angezeigt wird und ich keine anderen Operationen in diesem Formular ausführen kann. Ich habe alle Eigenschaften wie eingestellt CreateNoWindow = true
,
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
Trotzdem wird das Konsolenfenster angezeigt. Sogar ich habe Ausgabe und Fehler umgeleitet, um den Stream zu trennen, aber kein Glück.
Gibt es eine andere Möglichkeit, das Konsolenfenster auszublenden? Bitte hilf mir .
Hier ist der Teil meines Codes, mit dem ich den Befehl sc ausgeführt habe.
Process proc = new Process();
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
proc.StartInfo.FileName = "sc";
proc.StartInfo.Arguments = string.Format(@"\\SYS25 create MySvc binPath= C:\mysvc.exe");
proc.StartInfo.RedirectStandardError = false;
proc.StartInfo.RedirectStandardOutput = false;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.CreateNoWindow = true;
proc.Start();
proc.WaitForExit();
UseShellExecute
und CreateNoWindow
zweimal?
proc.StartInfo.RedirectedStandardOutput = true
? Ich habe dies mit einer Windows-Anwendung zum Laufen gebracht.