ProcessStartInfo.UseShellExecute (Propiedad) (System.Diagnostics)

Cambiar vista:
Sin script
Biblioteca de clases de .NET Framework
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)

Sintaxis

Visual Basic (Declaración)
Public Property UseShellExecute As Boolean
Visual Basic (Uso)
Dim instance As ProcessStartInfo
Dim value As Boolean

value = instance.UseShellExecute

instance.UseShellExecute = value
C#
public bool UseShellExecute { get; set; }
C++
public:
property bool UseShellExecute {
	bool get ();
	void set (bool value);
}
J#
/** @property */
public boolean get_UseShellExecute ()

/** @property */
public void set_UseShellExecute (boolean value)

JScript
public function get UseShellExecute () : boolean

public function set UseShellExecute (value : boolean)

Valor de propiedad

Es true para usar el shell al iniciar el proceso; de lo contrario, el proceso se crea directamente desde el archivo ejecutable. El valor predeterminado es true.
Comentarios

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 referencia de objeto null (Nothing en Visual Basic) 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.

Ejemplo

Visual Basic
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()

C#
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();

C++
Process^ compiler = gcnew Process;
compiler->StartInfo->FileName = "cl.exe";
compiler->StartInfo->Arguments = "/clr stdstr.cpp /link /out:sample.exe";
compiler->StartInfo->UseShellExecute = false;
compiler->StartInfo->RedirectStandardOutput = true;
compiler->Start();

Console::WriteLine( compiler->StandardOutput->ReadToEnd() );

compiler->WaitForExit();

Plataformas

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

Información de versión

.NET Framework

Compatible con: 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0
Vea también