ProcessStartInfo Clase

Definición

Especifica un conjunto de valores que se usa cuando se inicia un proceso.

public ref class ProcessStartInfo sealed
public sealed class ProcessStartInfo
[System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))]
public sealed class ProcessStartInfo
type ProcessStartInfo = class
[<System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))>]
type ProcessStartInfo = class
Public NotInheritable Class ProcessStartInfo
Herencia
ProcessStartInfo
Atributos

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar la ProcessStartInfo clase para iniciar Internet Explorer. Las direcciones URL de destino se proporcionan como ProcessStartInfo argumentos.

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::ComponentModel;

// Opens the Internet Explorer application.
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);
}

// Opens urls and .html documents using Internet Explorer.
void OpenWithArguments()
{
    // URLs 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");
}

// Uses the ProcessStartInfo class to start new processes,
// both in a minimized mode.
void OpenWithStartInfo()
{
    ProcessStartInfo^ startInfo = gcnew ProcessStartInfo("IExplore.exe");
    startInfo->WindowStyle = ProcessWindowStyle::Minimized;
    Process::Start(startInfo);
    startInfo->Arguments = "www.northwindtraders.com";
    Process::Start(startInfo);
}

int main()
{
    // Get the path that stores favorite links.
    String^ myFavoritesPath = Environment::GetFolderPath(Environment::SpecialFolder::Favorites);
    OpenApplication(myFavoritesPath);
    OpenWithArguments();
    OpenWithStartInfo();
}
using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcessSample
{
    class MyProcess
    {
        // Opens the Internet Explorer application.
        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);
        }

        // Opens urls and .html documents using Internet Explorer.
        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");
        }

        // Uses the ProcessStartInfo class to start new processes,
        // both in a minimized mode.
        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();
        }
    }
}
Imports System.Diagnostics
Imports System.ComponentModel

Namespace MyProcessSample
    Class MyProcess
        ' Opens the Internet Explorer application.
        Public Sub OpenApplication(myFavoritesPath As String)
            ' 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)
        End Sub

        ' Opens URLs and .html documents using Internet Explorer.
        Sub OpenWithArguments()
            ' URLs 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")
        End Sub

        ' Uses the ProcessStartInfo class to start new processes,
        ' both in a minimized mode.
        Sub OpenWithStartInfo()
            Dim startInfo As New ProcessStartInfo("IExplore.exe")
            startInfo.WindowStyle = ProcessWindowStyle.Minimized

            Process.Start(startInfo)

            startInfo.Arguments = "www.northwindtraders.com"

            Process.Start(startInfo)
        End Sub

        Shared Sub Main()
            ' Get the path that stores favorite links.
            Dim myFavoritesPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Favorites)

            Dim myProcess As New MyProcess()

            myProcess.OpenApplication(myFavoritesPath)
            myProcess.OpenWithArguments()
            myProcess.OpenWithStartInfo()
        End Sub
    End Class
End Namespace 'MyProcessSample

Comentarios

ProcessStartInfo se usa junto con el Process componente . Al iniciar un proceso mediante la Process clase , tiene acceso a la información de proceso, además de a esa disponible al asociarse a un proceso en ejecución.

Puede usar la ProcessStartInfo clase para controlar mejor el proceso que se inicia. Debe establecer al menos la FileName propiedad , ya sea manualmente o mediante el constructor . El nombre de archivo es cualquier aplicación o documento. Aquí se define un documento para que sea cualquier tipo de archivo que tenga asociada una acción abierta o predeterminada. Puede ver los tipos de archivo registrados y sus aplicaciones asociadas para el equipo mediante el cuadro de diálogo Opciones de carpeta , que está disponible a través del sistema operativo. El botón Avanzadas conduce a un cuadro de diálogo que muestra si hay una acción abierta asociada a un tipo de archivo registrado específico.

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

Normalmente, la entrada estándar es el teclado y la salida estándar y el error estándar suelen ser la pantalla de supervisión. Sin embargo, puede usar las RedirectStandardInputpropiedades , RedirectStandardOutputy RedirectStandardError para hacer que el proceso obtenga la entrada o devuelva la salida a un archivo u otro dispositivo. Si usa las StandardInputpropiedades , StandardOutputo StandardError en el Process componente, primero debe establecer el valor correspondiente en la ProcessStartInfo propiedad . De lo contrario, el sistema produce una excepción al leer o escribir en la secuencia.

Establezca la UseShellExecute propiedad para especificar si se va a iniciar el proceso mediante el shell del sistema operativo. Si UseShellExecute se establece falseen , el nuevo proceso hereda la entrada estándar, la salida estándar y los flujos de error estándar del proceso de llamada, a menos que las RedirectStandardInputpropiedades , RedirectStandardOutputo RedirectStandardError , respectivamente, se establezcan trueen .

Puede cambiar el valor de cualquier ProcessStartInfo propiedad hasta el momento en que se inicia el proceso. Después de iniciar el proceso, cambiar estos valores no tiene ningún efecto.

Importante

Usar una instancia de este objeto con datos que no son de confianza supone un riesgo de seguridad. Utilice este objeto solo con datos de confianza. Para obtener más información, vea Validar todas las entradas.

Nota

Esta clase contiene una demanda de vínculo en el nivel de clase que se aplica a todos los miembros. SecurityException Se produce una excepción cuando el autor de la llamada inmediato no tiene permiso de plena confianza. Para obtener más información sobre las demandas de seguridad, consulte Solicitudes de vínculo.

Constructores

ProcessStartInfo()

Inicializa una nueva instancia de la clase ProcessStartInfo sin especificar un nombre de archivo con el que iniciar el proceso.

ProcessStartInfo(String)

Inicializa una nueva instancia de la clase ProcessStartInfo y especifica un nombre de archivo, como una aplicación o un documento, con el que se inicia el proceso.

ProcessStartInfo(String, IEnumerable<String>)

Especifica un conjunto de valores que se usa cuando se inicia un proceso.

ProcessStartInfo(String, String)

Inicializa una nueva instancia de la clase ProcessStartInfo y especifica un nombre de archivo de aplicación con el que se iniciará el proceso, así como un conjunto de argumentos de línea de comandos que se pasarán a la aplicación.

Propiedades

ArgumentList

Obtiene una colección de argumentos de línea de comandos que se van a usar al iniciar la aplicación. No es necesario aplicar escape previamente a las cadenas agregadas a la lista.

Arguments

Obtiene o establece el conjunto de argumentos de línea de comandos que se van a usar al iniciar la aplicación.

CreateNoWindow

Obtiene o establece un valor que indica si el proceso se va a iniciar en una nueva ventana.

Domain

Obtiene o establece un valor que identifica el dominio que se va a usar al iniciarse el proceso. Si este valor es null, la propiedad UserName debe especificarse en formato UPN.

Environment

Obtiene las variables de entorno que se aplican a este proceso y a sus procesos secundarios.

EnvironmentVariables

Obtiene rutas de acceso para búsqueda de archivos, directorios para archivos temporales, opciones específicas de la aplicación y otra información similar.

ErrorDialog

Obtiene o establece un valor que indica si se va a mostrar un cuadro de diálogo de error al usuario si el proceso no se puede iniciar.

ErrorDialogParentHandle

Obtiene o establece el identificador de ventana que se usará cuando se muestre un cuadro de diálogo para un proceso que no se puede iniciar.

FileName

Obtiene o establece la aplicación o el documento que se va a iniciar.

LoadUserProfile

Obtiene o establece un valor que indica si el perfil de usuario de Windows se va a cargar desde el registro.

Password

Obtiene o establece una cadena segura que contiene la contraseña del usuario que se va a usar al iniciar el proceso.

PasswordInClearText

Obtiene o establece la contraseña de usuario no cifrada que se va a usar al iniciar el proceso.

RedirectStandardError

Obtiene o establece un valor que indica si la salida de errores de una aplicación se escribe en la secuencia de StandardError.

RedirectStandardInput

Obtiene o establece un valor que indica si la entrada para una aplicación se lee de la secuencia de StandardInput.

RedirectStandardOutput

Obtiene o establece un valor que indica si la salida de una aplicación se escribe en la secuencia de StandardOutput.

StandardErrorEncoding

Obtiene o establece la codificación preferente para la salida de errores.

StandardInputEncoding

Obtiene o establece la codificación preferente para la entrada estándar.

StandardOutputEncoding

Obtiene o establece la codificación preferente para la salida estándar.

UseCredentialsForNetworkingOnly

Especifica un conjunto de valores que se usa cuando se inicia un proceso.

UserName

Obtiene o establece el nombre de usuario que se va a usar al iniciar el proceso. Si usa el formato UPN, user@DNS_domain_name, la propiedad Domain debe ser null.

UseShellExecute

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

Verb

Obtiene o establece el verbo que se usará al abrir la aplicación o el documento que especifique la propiedad FileName.

Verbs

Obtiene el conjunto de verbos asociado al tipo de archivo especificado en la propiedad FileName.

WindowStyle

Obtiene o establece el estado de ventana que se usará cuando se inicie el proceso.

WorkingDirectory

Cuando la propiedad de UseShellExecute es false, obtiene o establece el directorio de trabajo para que el proceso se inicie. Cuando UseShellExecute es true, obtiene o establece el directorio que contiene el proceso que se iniciará.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también