Esta documentación está archivada y no tiene mantenimiento.

ProcessStartInfo (Clase)

Especifica un conjunto de valores que se utiliza al iniciar un proceso.

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

public sealed class ProcessStartInfo
public final class ProcessStartInfo
public final class ProcessStartInfo

NotaNota

El atributo HostProtectionAttribute aplicado a esta clase tiene el siguiente valor para la propiedad Resources: SharedState | SelfAffectingProcessMgmt. HostProtectionAttribute no afecta a las aplicaciones de escritorio (que normalmente se inician al hacer doble clic en un icono, escribir un comando o introducir una dirección URL en un explorador). Para obtener más información, vea la clase HostProtectionAttribute o Programación de SQL Server y atributos de protección del host.

ProcessStartInfo se usa junto con el componente Process. Cuando se inicia un proceso con la clase Process, se obtiene acceso a la información del proceso, además de a la que está disponible al establecer una conexión con un proceso en ejecución.

Es posible utilizar la clase ProcessStartInfo para obtener un mayor control sobre el proceso que se inicia. Al menos, se deberá establecer la propiedad FileName, ya sea manualmente o con el constructor. El nombre de archivo puede ser cualquier aplicación o documento. Aquí se define un documento de cualquier tipo de archivo que tenga asociada una acción abierta o predeterminada. Los tipos de archivo registrados y las aplicaciones asociadas del equipo pueden verse mediante el cuadro de diálogo Opciones de carpeta, que está disponible a través del sistema operativo. El botón Avanzadas abre un cuadro de diálogo que muestra si hay una acción abierta asociada a un tipo de archivo registrado concreto.

Además, es posible establecer otras propiedades que definan las acciones que se deben realizar con ese archivo. Se puede definir un valor específico del tipo de la propiedad FileName para la propiedad Verb. Por ejemplo, se puede especificar "print" para un tipo de documento. Además, se pueden especificar valores de la propiedad Arguments que serán argumentos de línea de comandos que se pasarán al procedimiento abierto del archivo. Por ejemplo, si se especifica una aplicación de editor de texto en la propiedad FileName, se puede usar la propiedad Arguments para especificar un archivo de texto que se abrirá en el editor.

El método de entrada estándar suele ser el teclado y, normalmente, los resultados y los errores estándar se muestran en la pantalla del monitor. Sin embargo, se pueden utilizar las propiedades RedirectStandardInput, RedirectStandardOutput y RedirectStandardError para hacer que el proceso obtenga la entrada o devuelva los resultados en un archivo u otro dispositivo. Si se usa las propiedades StandardInput, StandardOutput o StandardError en el componente Process, primero hay que establecer el valor correspondiente en la propiedad ProcessStartInfo. De lo contrario, el sistema produce una excepción al leer o escribir en la secuencia.

Establezca UseShellExecute para especificar si el proceso se va a iniciar con el shell del sistema operativo.

Es posible cambiar el valor de cualquier propiedad ProcessStartInfo hasta el momento en que el proceso se inicie. Una vez iniciado el proceso, la modificación de dichos valores no tiene ningún efecto.

NotaNota

Esta clase contiene una petición de vínculo en el nivel de clase que se aplica a todos los miembros. Se produce una excepción SecurityException si el llamador inmediato no dispone de permisos de plena confianza. Para obtener más información sobre las peticiones de seguridad, vea Peticiones de vínculos.

using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcessSample
{
	/// <summary>
	/// Shell for the sample.
	/// </summary>
	class MyProcess
	{
	   
		/// <summary>
		/// Opens the Internet Explorer application.
		/// </summary>
		void OpenApplication(string myFavoritesPath)
		{
			// Start Internet Explorer. Defaults to the home page.
			Process.Start("IExplore.exe");
				    
		    // Display the contents of the favorites folder in the browser.
		    Process.Start(myFavoritesPath);
 
		}
		
		/// <summary>
		/// Opens urls and .html documents using Internet Explorer.
		/// </summary>
		void OpenWithArguments()
		{
			// url's are not considered documents. They can only be opened
			// by passing them as arguments.
			Process.Start("IExplore.exe", "www.northwindtraders.com");
			
			// Start a Web page using a browser associated with .html and .asp files.
			Process.Start("IExplore.exe", "C:\\myPath\\myFile.htm");
			Process.Start("IExplore.exe", "C:\\myPath\\myFile.asp");
		}
		
		/// <summary>
		/// Uses the ProcessStartInfo class to start new processes, both in a minimized 
		/// mode.
		/// </summary>
		void OpenWithStartInfo()
		{
			
			ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
			startInfo.WindowStyle = ProcessWindowStyle.Minimized;
			
			Process.Start(startInfo);
			
			startInfo.Arguments = "www.northwindtraders.com";
			
			Process.Start(startInfo);
			
		}

		static void Main()
		{
            		// Get the path that stores favorite links.
            		string myFavoritesPath = 
                	Environment.GetFolderPath(Environment.SpecialFolder.Favorites);
                
            		MyProcess myProcess = new MyProcess();
         
			myProcess.OpenApplication(myFavoritesPath);
			myProcess.OpenWithArguments();
			myProcess.OpenWithStartInfo();

       		}	
	}
}

System.Object
  System.Diagnostics.ProcessStartInfo

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

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.

.NET Framework

Compatible con: 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0
Mostrar: