Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés
Esta documentación está archivada y no tiene mantenimiento.

ProcessStartInfo.UseShellExecute (Propiedad)

Obtiene o establece un valor que indica si se va a usar el shell del sistema operativo para iniciar el proceso.

Espacio de nombres:  System.Diagnostics
Ensamblado:  System (en System.dll)

public bool UseShellExecute { get; set; }

Valor de propiedad

Tipo: System.Boolean
Es true para usar el shell al iniciar el proceso; de lo contrario, el proceso se crea directamente desde el archivo ejecutable. De manera predeterminada, es true.

Si se establece esta propiedad en false, es posible redirigir las secuencias de entrada, salida y error.

NotaNota

    UseShellExecute debe ser false si la propiedad UserName no es null o una cadena vacía; de lo contrario, se inicia una excepción InvalidOperationException al llamar al método Process.Start(ProcessStartInfo).

Cuando se usa el shell del sistema operativo para iniciar procesos, se puede iniciar cualquier documento (cualquier tipo de archivo registrado que tenga asociado un archivo ejecutable con una acción de apertura predeterminada) y realizar operaciones en el archivo, como imprimirlo, con el componente Process. Cuando UseShellExecute es false, sólo se pueden iniciar archivos ejecutables con el componente Process.

NotaNota

El valor de UseShellExecute debe ser true si se establece el valor de la propiedad ErrorDialog en true.

La propiedad WorkingDirectory se comporta de forma distinta si UseShellExecute es true o si UseShellExecute es false. Cuando UseShellExecute es true, la propiedad WorkingDirectory especifica la ubicación del ejecutable. Si WorkingDirectory es una cadena vacía, se entiende que el directorio actual contiene el ejecutable.

Cuando UseShellExecute es false, la propiedad WorkingDirectory no se utiliza para buscar el ejecutable. En su lugar, el proceso que se inicia utiliza esta propiedad y sólo tiene significado en el contexto del nuevo proceso.


Process compiler = new Process();
compiler.StartInfo.FileName = "csc.exe";
compiler.StartInfo.Arguments = "/r:System.dll /out:sample.exe stdstr.cs";
compiler.StartInfo.UseShellExecute = false;
compiler.StartInfo.RedirectStandardOutput = true;
compiler.Start();    

Console.WriteLine(compiler.StandardOutput.ReadToEnd());

compiler.WaitForExit();


.NET Framework

Compatible con: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Mostrar: