Sto cercando di creare un processo su una macchina remota utilizzando la classe System.Diagnostics.Process. Sono in grado di creare un processo. Ma il problema è che la creazione di un servizio richiede molto tempo e viene visualizzata la finestra della console. Un'altra cosa fastidiosa è che la finestra della console viene visualizzata sopra il mio modulo di Windows e non posso eseguire altre operazioni su quel modulo. Ho impostato tutte le proprietà come CreateNoWindow = true
,
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
ma mostra ancora la finestra della console. anche io ho reindirizzato l'output e gli errori per separare il flusso ma senza fortuna.
C'è un altro modo per nascondere la finestra della console? Per favore aiutatemi .
Ecco la parte del mio codice che ho usato per eseguire il comando sc.
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
e CreateNoWindow
due volte?
proc.StartInfo.RedirectedStandardOutput = true
? Ho ottenuto che funzioni con un'applicazione Windows.