Estoy intentando crear un proceso en una máquina remota usando System.Diagnostics.Process class. Puedo crear un proceso. Pero el problema es que la creación de un servicio lleva mucho tiempo y se muestra la ventana de la consola. Otra cosa molesta es que la ventana de la consola se muestra en la parte superior de mi formulario de Windows y no puedo hacer ninguna otra operación en ese formulario. he puesto todas las propiedades como CreateNoWindow = true
,Ocultar la ventana de la consola desde Process.Start C#
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
pero aún se muestra la ventana de consola. incluso he redirigido la salida y los errores a la secuencia separada, pero no tuve suerte.
¿Hay alguna otra manera de ocultar la ventana de la consola? Por favor, ayúdame .
Aquí está la parte de mi código que utilicé para ejecutar el 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();
¿Has probado la configuración 'proc.StartInfo.RedirectedStandardOutput = true'? He conseguido que esto funcione con una aplicación de Windows. – Andrew
cualquier solución final con código fuente completo de muestra trabajando al respecto? – Kiquenet
En una aplicación * de Windows *, simplemente estableciendo UseShellExecute - sin redireccionamiento o cualquier otra cosa - funcionó para mí. Ver [aquí] (https://stackoverflow.com/a/47781912/63209). – Paul