Process.Start Método

Definición

Inicia un recurso de proceso y lo asocia a un componente Process.Starts a process resource and associates it with a Process component.

Sobrecargas

Start(String, String, String, SecureString, String)

Inicia un recurso de proceso mediante la especificación del nombre de una aplicación y un conjunto de argumentos de línea de comandos, un nombre de usuario, una contraseña y un dominio, y asocia el recurso a un nuevo componente de Process.Starts a process resource by specifying the name of an application, a set of command-line arguments, a user name, a password, and a domain and associates the resource with a new Process component.

Start(String, String, SecureString, String)

Inicia un recurso de proceso mediante la especificación del nombre de una aplicación, un nombre de usuario, una contraseña y un dominio, y asocia el recurso a un nuevo componente de Process.Starts a process resource by specifying the name of an application, a user name, a password, and a domain and associates the resource with a new Process component.

Start(String, String)

Inicia un recurso de proceso mediante la especificación del nombre de una aplicación y un conjunto de argumentos de línea de comandos, y asocia el recurso a un nuevo componente Process.Starts a process resource by specifying the name of an application and a set of command-line arguments, and associates the resource with a new Process component.

Start()

Inicia (o reutiliza) el recurso de proceso especificado por la propiedad StartInfo de este componente Process y lo asocia al componente.Starts (or reuses) the process resource that is specified by the StartInfo property of this Process component and associates it with the component.

Start(String)

Inicia un recurso de proceso con la especificación del nombre de un documento o de un archivo de aplicación y asocia el recurso a un nuevo componente Process.Starts a process resource by specifying the name of a document or application file and associates the resource with a new Process component.

Start(ProcessStartInfo)

Inicia el recurso de proceso que se especifica mediante el parámetro que contiene la información de inicio del proceso (por ejemplo, el nombre de archivo del proceso que se va a iniciar) y asocia el recurso a un nuevo componente Process.Starts the process resource that is specified by the parameter containing process start information (for example, the file name of the process to start) and associates the resource with a new Process component.

Start(String, IEnumerable<String>)

Inicia un recurso de proceso mediante la especificación del nombre de una aplicación y un conjunto de argumentos de línea de comandos.Starts a process resource by specifying the name of an application and a set of command line arguments.

Start(String, String, String, SecureString, String)

Importante

Esta API no es conforme a CLS.

Inicia un recurso de proceso mediante la especificación del nombre de una aplicación y un conjunto de argumentos de línea de comandos, un nombre de usuario, una contraseña y un dominio, y asocia el recurso a un nuevo componente de Process.Starts a process resource by specifying the name of an application, a set of command-line arguments, a user name, a password, and a domain and associates the resource with a new Process component.

public:
 static System::Diagnostics::Process ^ Start(System::String ^ fileName, System::String ^ arguments, System::String ^ userName, System::Security::SecureString ^ password, System::String ^ domain);
[System.CLSCompliant(false)]
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static System.Diagnostics.Process? Start (string fileName, string arguments, string userName, System.Security.SecureString password, string domain);
[System.CLSCompliant(false)]
public static System.Diagnostics.Process Start (string fileName, string arguments, string userName, System.Security.SecureString password, string domain);
public static System.Diagnostics.Process Start (string fileName, string arguments, string userName, System.Security.SecureString password, string domain);
[<System.CLSCompliant(false)>]
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member Start : string * string * string * System.Security.SecureString * string -> System.Diagnostics.Process
static member Start : string * string * string * System.Security.SecureString * string -> System.Diagnostics.Process
[<System.CLSCompliant(false)>]
static member Start : string * string * string * System.Security.SecureString * string -> System.Diagnostics.Process
Public Shared Function Start (fileName As String, arguments As String, userName As String, password As SecureString, domain As String) As Process

Parámetros

fileName
String

Nombre de un archivo de aplicación que se va a ejecutar en el proceso.The name of an application file to run in the process.

arguments
String

Argumentos de línea de comandos que se van a pasar al iniciar el proceso.Command-line arguments to pass when starting the process.

userName
String

Nombre de usuario que se va a usar al iniciarse el proceso.The user name to use when starting the process.

password
SecureString

SecureString que contiene la contraseña que se va a utilizar al iniciarse el proceso.A SecureString that contains the password to use when starting the process.

domain
String

Dominio que se va a utilizar al iniciarse el proceso.The domain to use when starting the process.

Devoluciones

Process

Nuevo Process que está asociado al recurso del proceso, o null si no se inicia ningún recurso de proceso.A new Process that is associated with the process resource, or null if no process resource is started. Observe que un proceso nuevo que se inicia junto a instancias del mismo proceso ya en ejecución es independiente de los demás.Note that a new process that's started alongside already running instances of the same process will be independent from the others. Además, Inicio puede devolver un proceso no nulo con su propiedad HasExited ya establecida en true.In addition, Start may return a non-null Process with its HasExited property already set to true. En tal caso, el proceso iniciado puede haber activado una instancia existente de sí mismo y, a continuación, haber salido.In this case, the started process may have activated an existing instance of itself and then exited.

Atributos

Excepciones

No se especificó ningún nombre de archivo.No file name was specified.

Se produjo un error al abrir el archivo asociado.An error occurred when opening the associated file.

o bien-or-

No se encontró el archivo especificado en fileName.The file specified in the fileName could not be found.

o bien-or- La suma de la longitud de los argumentos y la longitud de la ruta de acceso completa al archivo asociado supera 2080.The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080. El mensaje de error asociado a esta excepción puede ser uno de los siguientes: "el área de datos que se pasa a una llamada del sistema es demasiado pequeña".The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." o "Se denegó el acceso".or "Access is denied."

El objeto del proceso ya se ha desechado.The process object has already been disposed.

Este miembro no es compatible en Linux o macOS (solo en .NET Core).This member is not supported on Linux or macOS (.NET Core only).

Comentarios

Utilice esta sobrecarga para crear un nuevo proceso y su subproceso principal especificando el nombre de archivo, los argumentos de la línea de comandos, el nombre de usuario, la contraseña y el dominio.Use this overload to create a new process and its primary thread by specifying its file name, command-line arguments, user name, password, and domain. A continuación, el nuevo proceso ejecuta el archivo ejecutable especificado en el contexto de seguridad de las credenciales especificadas (usuario, dominio y contraseña).The new process then runs the specified executable file in the security context of the specified credentials (user, domain, and password).

Nota

Cuando el archivo ejecutable se encuentra en una unidad remota, debe identificar el recurso compartido de red mediante un identificador uniforme de recursos (URI), no una letra de unidad vinculada.When the executable file is located on a remote drive, you must identify the network share by using a uniform resource identifier (URI), not a linked drive letter.

Nota

Si la dirección del archivo ejecutable que se va a iniciar es una dirección URL, el proceso no se inicia y null se devuelve.If the address of the executable file to start is a URL, the process is not started and null is returned.

Esta sobrecarga permite iniciar un proceso sin crear primero una nueva Process instancia.This overload lets you start a process without first creating a new Process instance. La sobrecarga es una alternativa a los pasos explícitos para crear una nueva Process instancia, establecer FileName las Arguments propiedades,, UserName , Password y Domain de la StartInfo propiedad, y llamar a Start para la Process instancia.The overload is an alternative to the explicit steps of creating a new Process instance, setting the FileName, Arguments, UserName, Password, and Domain properties of the StartInfo property, and calling Start for the Process instance.

Del mismo modo, de la misma manera en que el cuadro de diálogo Ejecutar puede aceptar un nombre de archivo ejecutable con o sin la extensión. exe, la extensión. exe es opcional en el fileName parámetro.Similarly, in the same way that the Run dialog box can accept an executable file name with or without the .exe extension, the .exe extension is optional in the fileName parameter. Por ejemplo, puede establecer el fileName parámetro en "Notepad.exe" o "Bloc de notas".For example, you can set the fileName parameter to either "Notepad.exe" or "Notepad". Si el fileName parámetro representa un archivo ejecutable, el arguments parámetro podría representar un archivo sobre el que actuar, como el archivo de texto en Notepad.exe myfile.txt .If the fileName parameter represents an executable file, the arguments parameter might represent a file to act upon, such as the text file in Notepad.exe myfile.txt.

Nota

El nombre de archivo debe representar un archivo ejecutable en las Start sobrecargas que tienen userName password parámetros, y domain .The file name must represent an executable file in the Start overloads that have userName, password, and domain parameters.

Siempre que se usa Start para iniciar un proceso, es posible que tenga que cerrarlo o arriesgar la pérdida de recursos del sistema.Whenever you use Start to start a process, you might need to close it or you risk losing system resources. Cierre los procesos mediante CloseMainWindow o Kill .Close processes using CloseMainWindow or Kill. Puede comprobar si un proceso ya se ha cerrado mediante su HasExited propiedad.You can check whether a process has already been closed by using its HasExited property.

Se aplica a

Start(String, String, SecureString, String)

Importante

Esta API no es conforme a CLS.

Inicia un recurso de proceso mediante la especificación del nombre de una aplicación, un nombre de usuario, una contraseña y un dominio, y asocia el recurso a un nuevo componente de Process.Starts a process resource by specifying the name of an application, a user name, a password, and a domain and associates the resource with a new Process component.

public:
 static System::Diagnostics::Process ^ Start(System::String ^ fileName, System::String ^ userName, System::Security::SecureString ^ password, System::String ^ domain);
[System.CLSCompliant(false)]
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static System.Diagnostics.Process? Start (string fileName, string userName, System.Security.SecureString password, string domain);
[System.CLSCompliant(false)]
public static System.Diagnostics.Process Start (string fileName, string userName, System.Security.SecureString password, string domain);
public static System.Diagnostics.Process Start (string fileName, string userName, System.Security.SecureString password, string domain);
[<System.CLSCompliant(false)>]
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member Start : string * string * System.Security.SecureString * string -> System.Diagnostics.Process
static member Start : string * string * System.Security.SecureString * string -> System.Diagnostics.Process
[<System.CLSCompliant(false)>]
static member Start : string * string * System.Security.SecureString * string -> System.Diagnostics.Process
Public Shared Function Start (fileName As String, userName As String, password As SecureString, domain As String) As Process

Parámetros

fileName
String

Nombre de un archivo de aplicación que se va a ejecutar en el proceso.The name of an application file to run in the process.

userName
String

Nombre de usuario que se va a usar al iniciarse el proceso.The user name to use when starting the process.

password
SecureString

SecureString que contiene la contraseña que se va a utilizar al iniciarse el proceso.A SecureString that contains the password to use when starting the process.

domain
String

Dominio que se va a utilizar al iniciarse el proceso.The domain to use when starting the process.

Devoluciones

Process

Nuevo Process que está asociado al recurso del proceso, o null si no se inicia ningún recurso de proceso.A new Process that is associated with the process resource, or null if no process resource is started. Observe que un proceso nuevo que se inicia junto a instancias del mismo proceso ya en ejecución es independiente de los demás.Note that a new process that's started alongside already running instances of the same process will be independent from the others. Además, Inicio puede devolver un proceso no nulo con su propiedad HasExited ya establecida en true.In addition, Start may return a non-null Process with its HasExited property already set to true. En tal caso, el proceso iniciado puede haber activado una instancia existente de sí mismo y, a continuación, haber salido.In this case, the started process may have activated an existing instance of itself and then exited.

Atributos

Excepciones

No se especificó ningún nombre de archivo.No file name was specified.

Se produjo un error al abrir el archivo asociado.There was an error in opening the associated file.

o bien-or-

No se encontró el archivo especificado en fileName.The file specified in the fileName could not be found.

El objeto del proceso ya se ha desechado.The process object has already been disposed.

Este miembro no es compatible en Linux o macOS (solo en .NET Core).This member is not supported on Linux or macOS (.NET Core only).

Ejemplos

En el ejemplo de código siguiente se muestra el uso de esta sobrecarga para iniciar un archivo ejecutable y también se muestra el inicio de Win32Exception cuando se realiza un intento de iniciar una aplicación asociada a un archivo no ejecutable.The following code example shows the use of this overload to start an executable file and also demonstrates the throwing of a Win32Exception when an attempt is made to start an application associated with a nonexecutable file.

// NOTE: This example requires a text.txt file file in your Documents folder
using System;
using System.Diagnostics;
using System.Security;
using System.ComponentModel;

class Example
{
    static void Main()
    {
        Console.Write("Enter your domain: ");
        string domain = Console.ReadLine();
        Console.Write("Enter you user name: ");
        string uname = Console.ReadLine();
        Console.Write("Enter your password: ");
        SecureString password = new SecureString();
        ConsoleKeyInfo key;
        do
        {
            key = Console.ReadKey(true);

            // Ignore any key out of range.
            if (((int)key.Key) >= 33 && ((int)key.Key <= 90) && key.Key != ConsoleKey.Enter)
            {
                // Append the character to the password.
                password.AppendChar(key.KeyChar);
                Console.Write("*");
            }
            // Exit if Enter key is pressed.
        } while (key.Key != ConsoleKey.Enter);
        Console.WriteLine();

        try
        {
            Console.WriteLine("\nTrying to launch NotePad using your login information...");
            Process.Start("notepad.exe", uname, password, domain);
        }
        catch (Win32Exception ex)
        {
            Console.WriteLine(ex.Message);
        }

        string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\";

        try
        {
            // The following call to Start succeeds if test.txt exists.
            Console.WriteLine("\nTrying to launch 'text.txt'...");
            Process.Start(path + "text.txt");
        }
        catch (Win32Exception ex)
        {
            Console.WriteLine(ex.Message);
        }

        try
        {
            // Attempting to start in a shell using this Start overload fails. This causes
            // the following exception, which is picked up in the catch block below:
            // The specified executable is not a valid application for this OS platform.
            Console.WriteLine("\nTrying to launch 'text.txt' with your login information...");
            Process.Start(path + "text.txt", uname, password, domain);
        }
        catch (Win32Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        finally
        {
            password.Dispose();
        }
    }
}
' This sample requires a text.txt file file in your documents folder.
' You'll also need to set the startup object in the project to Sub Main.
Imports System.Diagnostics
Imports System.Security
Imports System.ComponentModel

Module Program
    Sub Main()
        Console.Write("Enter your domain: ")
        Dim domain As String = Console.ReadLine()
        Console.Write("Enter you user name: ")
        Dim uname As String = Console.ReadLine()
        Console.Write("Enter your password: ")
        Dim password As New SecureString()
        Dim key As ConsoleKeyInfo
        Do
            key = Console.ReadKey(True)

            ' Ignore any key out of range.
            If key.Key >= 33 AndAlso key.Key <= 90 AndAlso key.Key <> ConsoleKey.Enter Then
                ' Append the character to the password.
                password.AppendChar(key.KeyChar)
                Console.Write("*")
            End If
            ' Exit if Enter key is pressed.
        Loop While key.Key <> ConsoleKey.Enter
        Console.WriteLine()

        Try
            Console.WriteLine(vbCrLf + "Trying to launch NotePad using your login information...")
            Process.Start("notepad.exe", uname, password, domain)
        Catch ex As Win32Exception
            Console.WriteLine(ex.Message)
        End Try

        Dim path As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\"

        Try
            ' The following call to Start succeeds if test.txt exists.
            Console.WriteLine(vbCrLf + "Trying to launch 'text.txt'...")
            Process.Start(path + "Text.txt")
        Catch ex As Win32Exception
            Console.WriteLine(ex.Message)
        End Try

        Try
            ' Attempting to start in a shell using this Start overload fails. This causes
            ' the following exception, which is picked up in the catch block below:
            ' The specified executable is not a valid application for this OS platform.
            Console.WriteLine(vbCrLf + "Trying to launch 'text.txt' with your login information...")
            Process.Start(path + "Text.txt", uname, password, domain)
        Catch ex As Win32Exception
            Console.WriteLine(ex.Message)
        Finally
            password.Dispose()
        End Try
    End Sub
End Module

Comentarios

Utilice esta sobrecarga para crear un nuevo proceso y su subproceso principal especificando su nombre de archivo, nombre de usuario, contraseña y dominio.Use this overload to create a new process and its primary thread by specifying its file name, user name, password, and domain. A continuación, el nuevo proceso ejecuta el archivo ejecutable especificado en el contexto de seguridad de las credenciales especificadas (usuario, dominio y contraseña).The new process then runs the specified executable file in the security context of the specified credentials (user, domain, and password).

Nota

Cuando el archivo ejecutable se encuentra en una unidad remota, debe identificar el recurso compartido de red mediante un identificador uniforme de recursos (URI), no una letra de unidad vinculada.When the executable file is located on a remote drive, you must identify the network share by using a uniform resource identifier (URI), not a linked drive letter.

Nota

Si la dirección del archivo ejecutable que se va a iniciar es una dirección URL, el proceso no se inicia y null se devuelve.If the address of the executable file to start is a URL, the process is not started and null is returned.

Esta sobrecarga permite iniciar un proceso sin crear primero una nueva Process instancia.This overload lets you start a process without first creating a new Process instance. La sobrecarga es una alternativa a los pasos explícitos para crear una nueva Process instancia, establecer FileName las UserName propiedades,, Password y Domain de la StartInfo propiedad, y llamar a Start para la Process instancia.The overload is an alternative to the explicit steps of creating a new Process instance, setting the FileName, UserName, Password, and Domain properties of the StartInfo property, and calling Start for the Process instance.

Del mismo modo, de la misma manera en que el cuadro de diálogo Ejecutar puede aceptar un nombre de archivo ejecutable con o sin la extensión. exe, la extensión. exe es opcional en el fileName parámetro.Similarly, in the same way that the Run dialog box can accept an executable file name with or without the .exe extension, the .exe extension is optional in the fileName parameter. Por ejemplo, puede establecer el fileName parámetro en "Notepad.exe" o "Bloc de notas".For example, you can set the fileName parameter to either "Notepad.exe" or "Notepad". Si el fileName parámetro representa un archivo ejecutable, el arguments parámetro podría representar un archivo sobre el que actuar, como el archivo de texto en Notepad.exe myfile.txt .If the fileName parameter represents an executable file, the arguments parameter might represent a file to act upon, such as the text file in Notepad.exe myfile.txt.

Nota

El nombre de archivo debe representar un archivo ejecutable en las Start sobrecargas que tienen userName password parámetros, y domain .The file name must represent an executable file in the Start overloads that have userName, password, and domain parameters.

Siempre que se usa Start para iniciar un proceso, es posible que tenga que cerrarlo o arriesgar la pérdida de recursos del sistema.Whenever you use Start to start a process, you might need to close it or you risk losing system resources. Cierre los procesos mediante CloseMainWindow o Kill .Close processes using CloseMainWindow or Kill. Puede comprobar si un proceso ya se ha cerrado mediante su HasExited propiedad.You can check whether a process has already been closed by using its HasExited property.

Se aplica a

Start(String, String)

Inicia un recurso de proceso mediante la especificación del nombre de una aplicación y un conjunto de argumentos de línea de comandos, y asocia el recurso a un nuevo componente Process.Starts a process resource by specifying the name of an application and a set of command-line arguments, and associates the resource with a new Process component.

public:
 static System::Diagnostics::Process ^ Start(System::String ^ fileName, System::String ^ arguments);
public static System.Diagnostics.Process Start (string fileName, string arguments);
static member Start : string * string -> System.Diagnostics.Process
Public Shared Function Start (fileName As String, arguments As String) As Process

Parámetros

fileName
String

Nombre de un archivo de aplicación que se va a ejecutar en el proceso.The name of an application file to run in the process.

arguments
String

Argumentos de línea de comandos que se van a pasar al iniciar el proceso.Command-line arguments to pass when starting the process.

Devoluciones

Process

Nuevo Process que está asociado al recurso del proceso, o null si no se inicia ningún recurso de proceso.A new Process that is associated with the process resource, or null if no process resource is started. Observe que un proceso nuevo que se inicia junto a instancias del mismo proceso ya en ejecución es independiente de los demás.Note that a new process that's started alongside already running instances of the same process will be independent from the others. Además, Inicio puede devolver un proceso no nulo con su propiedad HasExited ya establecida en true.In addition, Start may return a non-null Process with its HasExited property already set to true. En tal caso, el proceso iniciado puede haber activado una instancia existente de sí mismo y, a continuación, haber salido.In this case, the started process may have activated an existing instance of itself and then exited.

Excepciones

El parámetro fileName o arguments es null.The fileName or arguments parameter is null.

Se produjo un error al abrir el archivo asociado.An error occurred when opening the associated file.

o bien-or-

No se encontró el archivo especificado en fileName.The file specified in the fileName could not be found.

o bien-or- La suma de la longitud de los argumentos y la longitud de la ruta de acceso completa al proceso supera 2080.The sum of the length of the arguments and the length of the full path to the process exceeds 2080. El mensaje de error asociado a esta excepción puede ser uno de los siguientes: "el área de datos que se pasa a una llamada del sistema es demasiado pequeña".The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." o "Se denegó el acceso".or "Access is denied."

El objeto del proceso ya se ha desechado.The process object has already been disposed.

La variable de entorno PATH tiene una cadena que contiene comillas.The PATH environment variable has a string containing quotes.

Ejemplos

En el ejemplo siguiente se genera primero una instancia de Internet Explorer y se muestra el contenido de la carpeta favoritos en el explorador.The following example first spawns an instance of Internet Explorer and displays the contents of the Favorites folder in the browser. A continuación, inicia algunas otras instancias de Internet Explorer y muestra algunas páginas o sitios específicos.It then starts some other instances of Internet Explorer and displays some specific pages or sites. Por último, inicia Internet Explorer con la ventana minimizada mientras navega a un sitio específico.Finally it starts Internet Explorer with the window being minimized while navigating to a specific site.

#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

Utilice esta sobrecarga para iniciar un recurso de proceso especificando el nombre de archivo y los argumentos de la línea de comandos.Use this overload to start a process resource by specifying its file name and command-line arguments. La sobrecarga asocia el recurso a un nuevo Process objeto.The overload associates the resource with a new Process object.

Nota

Si la dirección del archivo ejecutable que se va a iniciar es una dirección URL, el proceso no se inicia y null se devuelve.If the address of the executable file to start is a URL, the process is not started and null is returned.

Esta sobrecarga permite iniciar un proceso sin crear primero una nueva Process instancia.This overload lets you start a process without first creating a new Process instance. La sobrecarga es una alternativa a los pasos explícitos para crear una nueva Process instancia, establecer FileName los Arguments miembros y de la StartInfo propiedad y llamar a Start para la Process instancia.The overload is an alternative to the explicit steps of creating a new Process instance, setting the FileName and Arguments members of the StartInfo property, and calling Start for the Process instance.

Iniciar un proceso especificando el nombre de archivo y los argumentos es similar a escribir el nombre de archivo y los argumentos de la línea de comandos en el Run cuadro de diálogo del menú de Windows Start .Starting a process by specifying its file name and arguments is similar to typing the file name and command-line arguments in the Run dialog box of the Windows Start menu. Por lo tanto, no es necesario que el nombre de archivo represente un archivo ejecutable.Therefore, the file name does not need to represent an executable file. Puede ser de cualquier tipo de archivo para el que la extensión se haya asociado a una aplicación instalada en el sistema.It can be of any file type for which the extension has been associated with an application installed on the system. Por ejemplo, el nombre de archivo puede tener una extensión. txt si tiene archivos de texto asociados con un editor, como el Bloc de notas, o puede tener un archivo. doc si tiene asociados archivos. doc con una herramienta de procesamiento de texto, como Microsoft Word.For example the file name can have a .txt extension if you have associated text files with an editor, such as Notepad, or it can have a .doc if you have associated .doc files with a word processing tool, such as Microsoft Word. Del mismo modo, de la misma manera en que el Run cuadro de diálogo puede aceptar un nombre de archivo ejecutable con o sin la extensión. exe, la extensión. exe es opcional en el fileName parámetro.Similarly, in the same way that the Run dialog box can accept an executable file name with or without the .exe extension, the .exe extension is optional in the fileName parameter. Por ejemplo, puede establecer el fileName parámetro en "Notepad.exe" o "Bloc de notas".For example, you can set the fileName parameter to either "Notepad.exe" or "Notepad". Si el fileName parámetro representa un archivo ejecutable, el arguments parámetro podría representar un archivo sobre el que actuar, como el archivo de texto en Notepad.exe myfile.txt .If the fileName parameter represents an executable file, the arguments parameter might represent a file to act upon, such as the text file in Notepad.exe myfile.txt. Si el fileName parámetro representa un archivo de comandos (. cmd), el arguments parámetro debe incluir un /c argumento "" o "" /k para especificar si la ventana de comandos se cierra o permanece después de la finalización.If the fileName parameter represents a command (.cmd) file, the arguments parameter must include either a "/c" or "/k" argument to specify whether the command window exits or remains after completion.

A diferencia de las otras sobrecargas, la sobrecarga de Start que no tiene ningún parámetro no es un static miembro.Unlike the other overloads, the overload of Start that has no parameters is not a static member. Use esa sobrecarga si ya ha creado una Process instancia y la información de inicio especificada (incluido el nombre de archivo) y desea iniciar un recurso de proceso y asociarlo a la Process instancia existente.Use that overload when you have already created a Process instance and specified start information (including the file name), and you want to start a process resource and associate it with the existing Process instance. Use una de las static sobrecargas cuando desee crear un Process componente nuevo en lugar de iniciar un proceso para un componente existente.Use one of the static overloads when you want to create a new Process component rather than start a process for an existing component. Tanto esta sobrecarga como la sobrecarga que no tiene parámetros permiten especificar el nombre de archivo del recurso de proceso que se va a iniciar y los argumentos de línea de comandos que se van a pasar.Both this overload and the overload that has no parameters allow you to specify the file name of the process resource to start and command-line arguments to pass.

Si tiene una variable de ruta de acceso declarada en el sistema mediante comillas, debe calificar totalmente esa ruta de acceso al iniciar cualquier proceso que se encuentre en esa ubicación.If you have a path variable declared in your system using quotes, you must fully qualify that path when starting any process found in that location. De lo contrario, el sistema no encontrará la ruta de acceso.Otherwise, the system will not find the path. Por ejemplo, si c:\mypath no está en la ruta de acceso y lo agrega mediante comillas: path = %path%;"c:\mypath" , debe calificar completamente cualquier proceso en c:\mypath al iniciarlo.For example, if c:\mypath is not in your path, and you add it using quotation marks: path = %path%;"c:\mypath", you must fully qualify any process in c:\mypath when starting it.

Nota

La Página Web de ASP.NET y el código de control de servidor se ejecutan en el contexto del proceso de trabajo ASP.NET en el servidor Web.ASP.NET Web page and server control code executes in the context of the ASP.NET worker process on the Web server. Si usa el Start método en una página web o un control de servidor ASP.net, el nuevo proceso se ejecuta en el servidor Web con permisos restringidos.If you use the Start method in an ASP.NET Web page or server control, the new process executes on the Web server with restricted permissions. El proceso no se inicia en el mismo contexto que el explorador del cliente y no tiene acceso al escritorio del usuario.The process does not start in the same context as the client browser, and does not have access to the user desktop.

Siempre que se usa Start para iniciar un proceso, es posible que tenga que cerrarlo o arriesgar la pérdida de recursos del sistema.Whenever you use Start to start a process, you might need to close it or you risk losing system resources. Cierre los procesos mediante CloseMainWindow o Kill .Close processes using CloseMainWindow or Kill. Puede comprobar si un proceso ya se ha cerrado mediante su HasExited propiedad.You can check whether a process has already been closed by using its HasExited property.

Aquí es necesario realizar una nota sobre los Estados de apartamento de los subprocesos administrados.A note about apartment states in managed threads is necessary here. Cuando UseShellExecute esté true en la propiedad del componente de proceso, asegúrese de StartInfo que ha establecido un modelo de subprocesos en la aplicación estableciendo el atributo [STAThread] en el main() método.When UseShellExecute is true on the process component's StartInfo property, make sure you have set a threading model on your application by setting the attribute [STAThread] on the main() method. De lo contrario, un subproceso administrado puede estar en un unknown Estado o colocarse en el MTA Estado, el último de los cuales entra en conflicto con UseShellExecute true .Otherwise, a managed thread can be in an unknown state or put in the MTA state, the latter of which conflicts with UseShellExecute being true. Algunos métodos requieren que el estado del apartamento no sea unknown .Some methods require that the apartment state not be unknown. Si el estado no se establece explícitamente, cuando la aplicación encuentra un método de este tipo, el valor predeterminado es MTA y, una vez establecido, no se puede cambiar el estado del apartamento.If the state is not explicitly set, when the application encounters such a method, it defaults to MTA, and once set, the apartment state cannot be changed. Sin embargo, MTA hace que se produzca una excepción cuando el Shell del sistema operativo administra el subproceso.However, MTA causes an exception to be thrown when the operating system shell is managing the thread.

Consulte también

Se aplica a

Start()

Inicia (o reutiliza) el recurso de proceso especificado por la propiedad StartInfo de este componente Process y lo asocia al componente.Starts (or reuses) the process resource that is specified by the StartInfo property of this Process component and associates it with the component.

public:
 bool Start();
public bool Start ();
member this.Start : unit -> bool
Public Function Start () As Boolean

Devoluciones

Boolean

Es true si se inicia un recurso de proceso; es false si no se inicia ningún recurso de proceso nuevo (por ejemplo, si se vuelve a usar un recurso existente).true if a process resource is started; false if no new process resource is started (for example, if an existing process is reused).

Excepciones

No se especificó ningún nombre de archivo en StartInfo del componente Process.No file name was specified in the Process component's StartInfo.

o bien-or-

El miembro UseShellExecute de la propiedad StartInfo es true mientras RedirectStandardInput, RedirectStandardOutputo RedirectStandardError es true.The UseShellExecute member of the StartInfo property is true while RedirectStandardInput, RedirectStandardOutput, or RedirectStandardError is true.

Se produjo un error al abrir el archivo asociado.There was an error in opening the associated file.

El objeto del proceso ya se ha desechado.The process object has already been disposed.

Método que no se admite en sistemas operativos sin la compatibilidad de shell, como Nano Server (solo en .NET Core).Method not supported on operating systems without shell support such as Nano Server (.NET Core only).

Ejemplos

En el ejemplo siguiente se utiliza una instancia de la Process clase para iniciar un proceso.The following example uses an instance of the Process class to start a process.

#using <System.dll>
using namespace System;
using namespace System::Diagnostics;
using namespace System::ComponentModel;

int main()
{
    Process^ myProcess = gcnew Process;

    try
    {
        myProcess->StartInfo->UseShellExecute = false;
        // You can start any process, HelloWorld is a do-nothing example.
        myProcess->StartInfo->FileName = "C:\\HelloWorld.exe";
        myProcess->StartInfo->CreateNoWindow = true;
        myProcess->Start();
        // This code assumes the process you are starting will terminate itself. 
        // Given that is is started without a window so you cannot terminate it 
        // on the desktop, it must terminate itself or you can do it programmatically
        // from this application using the Kill method.
    }
    catch ( Exception^ e ) 
    {
        Console::WriteLine( e->Message );
    }
}
using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcessSample
{
    class MyProcess
    {
        public static void Main()
        {
            try
            {
                using (Process myProcess = new Process())
                {
                    myProcess.StartInfo.UseShellExecute = false;
                    // You can start any process, HelloWorld is a do-nothing example.
                    myProcess.StartInfo.FileName = "C:\\HelloWorld.exe";
                    myProcess.StartInfo.CreateNoWindow = true;
                    myProcess.Start();
                    // This code assumes the process you are starting will terminate itself.
                    // Given that is is started without a window so you cannot terminate it
                    // on the desktop, it must terminate itself or you can do it programmatically
                    // from this application using the Kill method.
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}
Imports System.Diagnostics
Imports System.ComponentModel

Namespace MyProcessSample
    Class MyProcess
        Public Shared Sub Main()
            Try
                Using myProcess As New Process()

                    myProcess.StartInfo.UseShellExecute = False
                    ' You can start any process, HelloWorld is a do-nothing example.
                    myProcess.StartInfo.FileName = "C:\\HelloWorld.exe"
                    myProcess.StartInfo.CreateNoWindow = True
                    myProcess.Start()
                    ' This code assumes the process you are starting will terminate itself. 
                    ' Given that is is started without a window so you cannot terminate it 
                    ' on the desktop, it must terminate itself or you can do it programmatically
                    ' from this application using the Kill method.
                End Using
            Catch e As Exception
                Console.WriteLine((e.Message))
            End Try
        End Sub
    End Class
End Namespace

Comentarios

Utilice esta sobrecarga para iniciar un recurso de proceso y asociarlo al Process componente actual.Use this overload to start a process resource and associate it with the current Process component. El valor devuelto true indica que se ha iniciado un nuevo recurso de proceso.The return value true indicates that a new process resource was started. Si el recurso de proceso especificado por el FileName miembro de la StartInfo propiedad ya se está ejecutando en el equipo, no se inicia ningún recurso de proceso adicional.If the process resource specified by the FileName member of the StartInfo property is already running on the computer, no additional process resource is started. En su lugar, se vuelve a usar el recurso de proceso en ejecución y false se devuelve.Instead, the running process resource is reused and false is returned.

Puede iniciar una aplicación ClickOnce especificando la ubicación (por ejemplo, una dirección web) desde la que instaló originalmente la aplicación.You can start a ClickOnce application by specifying the location (for example, a Web address) from which you originally installed the application. No inicie una aplicación ClickOnce especificando su ubicación de instalación en el disco duro.Do not start a ClickOnce application by specifying its installed location on your hard drive.

Nota

Si usa Visual Studio, esta sobrecarga del Start método es la que se inserta en el código después de arrastrar un Process componente hasta el diseñador.If you are using Visual Studio, this overload of the Start method is the one that you insert into your code after you drag a Process component onto the designer. Use la Properties ventana para expandir la StartInfo categoría y escriba el valor adecuado en la FileName propiedad.Use the Properties window to expand the StartInfo category and write the appropriate value into the FileName property. Los cambios aparecerán en el procedimiento del formulario InitializeComponent .Your changes will appear in the form's InitializeComponent procedure.

Esta sobrecarga de Start no es un static método.This overload of Start is not a static method. Debe llamarlo desde una instancia de la Process clase.You must call it from an instance of the Process class. Antes de llamar a Start , primero debe especificar StartInfo la información de la propiedad para esta Process instancia, porque esa información se usa para determinar el recurso de proceso que se va a iniciar.Before calling Start, you must first specify StartInfo property information for this Process instance, because that information is used to determine the process resource to start.

Las demás sobrecargas del Start método son static miembros.The other overloads of the Start method are static members. No es necesario crear una instancia del Process componente antes de llamar a las sobrecargas del método.You do not need to create an instance of the Process component before you call those overloads of the method. En su lugar, puede llamar a Start para la Process propia clase y Process se crea un nuevo componente si se inició el proceso.Instead, you can call Start for the Process class itself, and a new Process component is created if the process was started. O bien, null se devuelve si se reutilizó un proceso.Or, null is returned if a process was reused. El recurso de proceso se asocia automáticamente al nuevo Process componente que devuelve el Start método.The process resource is automatically associated with the new Process component that is returned by the Start method.

Los StartInfo miembros se pueden usar para duplicar la funcionalidad del Run cuadro de diálogo del menú de Windows Start .The StartInfo members can be used to duplicate the functionality of the Run dialog box of the Windows Start menu. Todo lo que se puede escribir en una línea de comandos se puede iniciar estableciendo los valores adecuados en la StartInfo propiedad.Anything that can be typed into a command line can be started by setting the appropriate values in the StartInfo property. La única StartInfo propiedad que se debe establecer es la FileName propiedad.The only StartInfo property that must be set is the FileName property. La FileName propiedad no tiene que ser un archivo ejecutable.The FileName property does not have to be an executable file. Puede ser de cualquier tipo de archivo para el que la extensión se ha asociado a una aplicación que está instalada en el sistema.It can be of any file type for which the extension has been associated with an application that is installed on the system. Por ejemplo, la FileName propiedad puede tener una extensión. txt si tiene archivos de texto asociados con un editor, como el Bloc de notas, o puede tener una extensión. doc si tiene asociados archivos. doc con una herramienta de procesamiento de texto, como Microsoft Word.For example, the FileName property can have a .txt extension if you have associated text files with an editor, such as Notepad, or it can have a .doc extension if you have associated .doc files with a word processing tool, such as Microsoft Word.

En la línea de comandos, puede especificar las acciones que deben llevarse a cabo para determinados tipos de archivos.In the command line, you can specify actions to take for certain types of files. Por ejemplo, puede imprimir documentos o editar archivos de texto.For example, you can print documents or edit text files. Especifique estas acciones mediante el Verb miembro de la StartInfo propiedad.Specify these actions using the Verb member of the StartInfo property. Para otros tipos de archivos, puede especificar argumentos de la línea de comandos cuando inicie el archivo desde el Run cuadro de diálogo.For other types of files, you can specify command-line arguments when you start the file from the Run dialog box. Por ejemplo, puede pasar una dirección URL como argumento si especifica el explorador como FileName .For example, you can pass a URL as an argument if you specify your browser as the FileName. Estos argumentos se pueden especificar en el StartInfo miembro de la propiedad Arguments .These arguments can be specified in the StartInfo property's Arguments member.

Si tiene una variable de ruta de acceso declarada en el sistema mediante comillas, debe calificar totalmente esa ruta de acceso al iniciar cualquier proceso que se encuentre en esa ubicación.If you have a path variable declared in your system using quotes, you must fully qualify that path when starting any process found in that location. De lo contrario, el sistema no encontrará la ruta de acceso.Otherwise, the system will not find the path. Por ejemplo, si c:\mypath no está en la ruta de acceso y lo agrega mediante comillas: path = %path%;"c:\mypath" , debe calificar completamente cualquier proceso en c:\mypath al iniciarlo.For example, if c:\mypath is not in your path, and you add it using quotation marks: path = %path%;"c:\mypath", you must fully qualify any process in c:\mypath when starting it.

Nota

La Página Web de ASP.NET y el código de control de servidor se ejecutan en el contexto del proceso de trabajo ASP.NET en el servidor Web.ASP.NET Web page and server control code executes in the context of the ASP.NET worker process on the Web server. Si usa el Start método en una página web o un control de servidor ASP.net, el nuevo proceso se ejecuta en el servidor Web con permisos restringidos.If you use the Start method in an ASP.NET Web page or server control, the new process executes on the Web server with restricted permissions. El proceso no se inicia en el mismo contexto que el explorador del cliente y no tiene acceso al escritorio del usuario.The process does not start in the same context as the client browser, and does not have access to the user desktop.

Siempre que se usa Start para iniciar un proceso, es posible que tenga que cerrarlo o arriesgar la pérdida de recursos del sistema.Whenever you use Start to start a process, you might need to close it or you risk losing system resources. Cierre los procesos mediante CloseMainWindow o Kill .Close processes using CloseMainWindow or Kill. Puede comprobar si un proceso ya se ha cerrado mediante su HasExited propiedad.You can check whether a process has already been closed by using its HasExited property.

Aquí es necesario realizar una nota sobre los Estados de apartamento de los subprocesos administrados.A note about apartment states in managed threads is necessary here. Cuando UseShellExecute esté true en la propiedad del componente de proceso, asegúrese de StartInfo que ha establecido un modelo de subprocesos en la aplicación estableciendo el atributo [STAThread] en el main() método.When UseShellExecute is true on the process component's StartInfo property, make sure you have set a threading model on your application by setting the attribute [STAThread] on the main() method. De lo contrario, un subproceso administrado puede estar en un unknown Estado o colocarse en el MTA Estado, el último de los cuales entra en conflicto con UseShellExecute true .Otherwise, a managed thread can be in an unknown state or put in the MTA state, the latter of which conflicts with UseShellExecute being true. Algunos métodos requieren que el estado del apartamento no sea unknown .Some methods require that the apartment state not be unknown. Si el estado no se establece explícitamente, cuando la aplicación encuentra un método de este tipo, el valor predeterminado es MTA y, una vez establecido, no se puede cambiar el estado del apartamento.If the state is not explicitly set, when the application encounters such a method, it defaults to MTA, and once set, the apartment state cannot be changed. Sin embargo, MTA hace que se produzca una excepción cuando el Shell del sistema operativo administra el subproceso.However, MTA causes an exception to be thrown when the operating system shell is managing the thread.

Consulte también

Se aplica a

Start(String)

Inicia un recurso de proceso con la especificación del nombre de un documento o de un archivo de aplicación y asocia el recurso a un nuevo componente Process.Starts a process resource by specifying the name of a document or application file and associates the resource with a new Process component.

public:
 static System::Diagnostics::Process ^ Start(System::String ^ fileName);
public static System.Diagnostics.Process Start (string fileName);
static member Start : string -> System.Diagnostics.Process
Public Shared Function Start (fileName As String) As Process

Parámetros

fileName
String

Nombre de un archivo de documento o aplicación que se va a ejecutar en el proceso.The name of a document or application file to run in the process.

Devoluciones

Process

Nuevo Process que está asociado al recurso del proceso, o null si no se inicia ningún recurso de proceso.A new Process that is associated with the process resource, or null if no process resource is started. Observe que un proceso nuevo que se inicia junto a instancias del mismo proceso ya en ejecución es independiente de los demás.Note that a new process that's started alongside already running instances of the same process will be independent from the others. Además, Inicio puede devolver un proceso no nulo con su propiedad HasExited ya establecida en true.In addition, Start may return a non-null Process with its HasExited property already set to true. En tal caso, el proceso iniciado puede haber activado una instancia existente de sí mismo y, a continuación, haber salido.In this case, the started process may have activated an existing instance of itself and then exited.

Excepciones

Se produjo un error al abrir el archivo asociado.An error occurred when opening the associated file.

o bien-or-

No se encontró el archivo especificado en fileName.The file specified in the fileName could not be found.

El objeto del proceso ya se ha desechado.The process object has already been disposed.

La variable de entorno PATH tiene una cadena que contiene comillas.The PATH environment variable has a string containing quotes.

Ejemplos

En el ejemplo siguiente se genera primero una instancia de Internet Explorer y se muestra el contenido de la carpeta favoritos en el explorador.The following example first spawns an instance of Internet Explorer and displays the contents of the Favorites folder in the browser. A continuación, inicia algunas otras instancias de Internet Explorer y muestra algunas páginas o sitios específicos.It then starts some other instances of Internet Explorer and displays some specific pages or sites. Por último, inicia Internet Explorer con la ventana minimizada mientras navega a un sitio específico.Finally it starts Internet Explorer with the window being minimized while navigating to a specific site.

#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

Utilice esta sobrecarga para iniciar un recurso de proceso especificando su nombre de archivo.Use this overload to start a process resource by specifying its file name. La sobrecarga asocia el recurso a un nuevo Process objeto.The overload associates the resource with a new Process object.

Nota

Si la dirección del archivo ejecutable que se va a iniciar es una dirección URL, el proceso no se inicia y null se devuelve.If the address of the executable file to start is a URL, the process is not started and null is returned.

Esta sobrecarga permite iniciar un proceso sin crear primero una nueva Process instancia.This overload lets you start a process without first creating a new Process instance. La sobrecarga es una alternativa a los pasos explícitos para crear una nueva Process instancia, establecer el FileName miembro de la StartInfo propiedad y llamar a Start para la Process instancia.The overload is an alternative to the explicit steps of creating a new Process instance, setting the FileName member of the StartInfo property, and calling Start for the Process instance.

Puede iniciar una aplicación ClickOnce estableciendo el fileName parámetro en la ubicación (por ejemplo, una dirección web) desde la que instaló originalmente la aplicación.You can start a ClickOnce application by setting the fileName parameter to the location (for example, a Web address) from which you originally installed the application. No inicie una aplicación ClickOnce especificando su ubicación de instalación en el disco duro.Do not start a ClickOnce application by specifying its installed location on your hard drive.

Iniciar un proceso especificando su nombre de archivo es similar a escribir la información en el Run cuadro de diálogo del menú de Windows Start .Starting a process by specifying its file name is similar to typing the information in the Run dialog box of the Windows Start menu. Por lo tanto, no es necesario que el nombre de archivo represente un archivo ejecutable.Therefore, the file name does not need to represent an executable file. Puede ser de cualquier tipo de archivo para el que la extensión se haya asociado a una aplicación instalada en el sistema.It can be of any file type for which the extension has been associated with an application installed on the system. Por ejemplo, el nombre de archivo puede tener una extensión. txt si tiene archivos de texto asociados con un editor, como el Bloc de notas, o puede tener un archivo. doc si tiene asociados archivos. doc con una herramienta de procesamiento de texto, como Microsoft Word.For example the file name can have a .txt extension if you have associated text files with an editor, such as Notepad, or it can have a .doc if you have associated .doc files with a word processing tool, such as Microsoft Word. Del mismo modo, de la misma manera en que el Run cuadro de diálogo puede aceptar un nombre de archivo ejecutable con o sin la extensión. exe, la extensión. exe es opcional en el fileName parámetro.Similarly, in the same way that the Run dialog box can accept an executable file name with or without the .exe extension, the .exe extension is optional in the fileName parameter. Por ejemplo, puede establecer el fileName parámetro en "Notepad.exe" o "Bloc de notas".For example, you can set the fileName parameter to either "Notepad.exe" or "Notepad".

Esta sobrecarga no admite argumentos de línea de comandos para el proceso.This overload does not allow command-line arguments for the process. Si necesita especificar uno o más argumentos de la línea de comandos para el proceso, utilice las Process.Start(ProcessStartInfo) Process.Start(String, String) sobrecargas o.If you need to specify one or more command-line arguments for the process, use the Process.Start(ProcessStartInfo) or Process.Start(String, String) overloads.

A diferencia de las otras sobrecargas, la sobrecarga de Start que no tiene ningún parámetro no es un static miembro.Unlike the other overloads, the overload of Start that has no parameters is not a static member. Use esa sobrecarga si ya ha creado una Process instancia y la información de inicio especificada (incluido el nombre de archivo) y desea iniciar un recurso de proceso y asociarlo a la Process instancia existente.Use that overload when you have already created a Process instance and specified start information (including the file name), and you want to start a process resource and associate it with the existing Process instance. Use una de las static sobrecargas cuando desee crear un Process componente nuevo en lugar de iniciar un proceso para un componente existente.Use one of the static overloads when you want to create a new Process component rather than start a process for an existing component. Tanto esta sobrecarga como la sobrecarga que no tiene parámetros permiten especificar el nombre de archivo del recurso de proceso que se va a iniciar.Both this overload and the overload that has no parameters allow you to specify the file name of the process resource to start.

Si tiene una variable de ruta de acceso declarada en el sistema mediante comillas, debe calificar totalmente esa ruta de acceso al iniciar cualquier proceso que se encuentre en esa ubicación.If you have a path variable declared in your system using quotes, you must fully qualify that path when starting any process found in that location. De lo contrario, el sistema no encontrará la ruta de acceso.Otherwise, the system will not find the path. Por ejemplo, si c:\mypath no está en la ruta de acceso y lo agrega mediante comillas: path = %path%;"c:\mypath" , debe calificar completamente cualquier proceso en c:\mypath al iniciarlo.For example, if c:\mypath is not in your path, and you add it using quotation marks: path = %path%;"c:\mypath", you must fully qualify any process in c:\mypath when starting it.

Nota

La Página Web de ASP.NET y el código de control de servidor se ejecutan en el contexto del proceso de trabajo ASP.NET en el servidor Web.ASP.NET Web page and server control code executes in the context of the ASP.NET worker process on the Web server. Si usa el Start método en una página web o un control de servidor ASP.net, el nuevo proceso se ejecuta en el servidor Web con permisos restringidos.If you use the Start method in an ASP.NET Web page or server control, the new process executes on the Web server with restricted permissions. El proceso no se inicia en el mismo contexto que el explorador del cliente y no tiene acceso al escritorio del usuario.The process does not start in the same context as the client browser, and does not have access to the user desktop.

Siempre que se usa Start para iniciar un proceso, es posible que tenga que cerrarlo o arriesgar la pérdida de recursos del sistema.Whenever you use Start to start a process, you might need to close it or you risk losing system resources. Cierre los procesos mediante CloseMainWindow o Kill .Close processes using CloseMainWindow or Kill. Puede comprobar si un proceso ya se ha cerrado mediante su HasExited propiedad.You can check whether a process has already been closed by using its HasExited property.

Aquí es necesario realizar una nota sobre los Estados de apartamento de los subprocesos administrados.A note about apartment states in managed threads is necessary here. Cuando UseShellExecute esté true en la propiedad del componente de proceso, asegúrese de StartInfo que ha establecido un modelo de subprocesos en la aplicación estableciendo el atributo [STAThread] en el main() método.When UseShellExecute is true on the process component's StartInfo property, make sure you have set a threading model on your application by setting the attribute [STAThread] on the main() method. De lo contrario, un subproceso administrado puede estar en un unknown Estado o colocarse en el MTA Estado, el último de los cuales entra en conflicto con UseShellExecute true .Otherwise, a managed thread can be in an unknown state or put in the MTA state, the latter of which conflicts with UseShellExecute being true. Algunos métodos requieren que el estado del apartamento no sea unknown .Some methods require that the apartment state not be unknown. Si el estado no se establece explícitamente, cuando la aplicación encuentra un método de este tipo, el valor predeterminado es MTA y, una vez establecido, no se puede cambiar el estado del apartamento.If the state is not explicitly set, when the application encounters such a method, it defaults to MTA, and once set, the apartment state cannot be changed. Sin embargo, MTA hace que se produzca una excepción cuando el Shell del sistema operativo administra el subproceso.However, MTA causes an exception to be thrown when the operating system shell is managing the thread.

Consulte también

Se aplica a

Start(ProcessStartInfo)

Inicia el recurso de proceso que se especifica mediante el parámetro que contiene la información de inicio del proceso (por ejemplo, el nombre de archivo del proceso que se va a iniciar) y asocia el recurso a un nuevo componente Process.Starts the process resource that is specified by the parameter containing process start information (for example, the file name of the process to start) and associates the resource with a new Process component.

public:
 static System::Diagnostics::Process ^ Start(System::Diagnostics::ProcessStartInfo ^ startInfo);
public static System.Diagnostics.Process? Start (System.Diagnostics.ProcessStartInfo startInfo);
public static System.Diagnostics.Process Start (System.Diagnostics.ProcessStartInfo startInfo);
static member Start : System.Diagnostics.ProcessStartInfo -> System.Diagnostics.Process
Public Shared Function Start (startInfo As ProcessStartInfo) As Process

Parámetros

startInfo
ProcessStartInfo

ProcessStartInfo que contiene la información que se usa para iniciar el proceso, incluidos el nombre de archivo y los argumentos de línea de comandos.The ProcessStartInfo that contains the information that is used to start the process, including the file name and any command-line arguments.

Devoluciones

Process

Nuevo Process que está asociado al recurso del proceso, o null si no se inicia ningún recurso de proceso.A new Process that is associated with the process resource, or null if no process resource is started. Observe que un proceso nuevo que se inicia junto a instancias del mismo proceso ya en ejecución es independiente de los demás.Note that a new process that's started alongside already running instances of the same process will be independent from the others. Además, Inicio puede devolver un proceso no nulo con su propiedad HasExited ya establecida en true.In addition, Start may return a non-null Process with its HasExited property already set to true. En tal caso, el proceso iniciado puede haber activado una instancia existente de sí mismo y, a continuación, haber salido.In this case, the started process may have activated an existing instance of itself and then exited.

Excepciones

No se especificó ningún nombre de archivo en la propiedad FileName del parámetro startInfo.No file name was specified in the startInfo parameter's FileName property.

o bien-or- La propiedad UseShellExecute del parámetro startInfo es true y las propiedades RedirectStandardInput, RedirectStandardOutput o RedirectStandardError también son true.The UseShellExecute property of the startInfo parameter is true and the RedirectStandardInput, RedirectStandardOutput, or RedirectStandardError property is also true.

o bien-or- La propiedad UseShellExecute del parámetro startInfo es true y la propiedad UserName no es null o está vacía, o la propiedad Password no es null.The UseShellExecute property of the startInfo parameter is true and the UserName property is not null or empty or the Password property is not null.

El parámetro startInfo es null.The startInfo parameter is null.

El objeto del proceso ya se ha desechado.The process object has already been disposed.

Se produjo un error al abrir el archivo asociado.An error occurred when opening the associated file.

o bien-or- El archivo especificado en la propiedad FileName del parámetro startInfo no se encontró.The file specified in the startInfo parameter's FileName property could not be found.

o bien-or- La suma de la longitud de los argumentos y la longitud de la ruta de acceso completa al proceso supera 2080.The sum of the length of the arguments and the length of the full path to the process exceeds 2080. El mensaje de error asociado a esta excepción puede ser uno de los siguientes: "el área de datos que se pasa a una llamada del sistema es demasiado pequeña".The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." o "Se denegó el acceso".or "Access is denied."

Método que no se admite en sistemas operativos sin la compatibilidad de shell, como Nano Server (solo en .NET Core).Method not supported on operating systems without shell support such as Nano Server (.NET Core only).

Ejemplos

En el ejemplo siguiente se genera primero una instancia de Internet Explorer y se muestra el contenido de la carpeta favoritos en el explorador.The following example first spawns an instance of Internet Explorer and displays the contents of the Favorites folder in the browser. A continuación, inicia algunas otras instancias de Internet Explorer y muestra algunas páginas o sitios específicos.It then starts some other instances of Internet Explorer and displays some specific pages or sites. Por último, inicia Internet Explorer con la ventana minimizada mientras navega a un sitio específico.Finally it starts Internet Explorer with the window being minimized while navigating to a specific site.

Para obtener más ejemplos de otros usos de este método, consulte las propiedades individuales de la ProcessStartInfo clase.For additional examples of other uses of this method, refer to the individual properties of the ProcessStartInfo class.

#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

Utilice esta sobrecarga para iniciar un recurso de proceso mediante la especificación de una ProcessStartInfo instancia.Use this overload to start a process resource by specifying a ProcessStartInfo instance. La sobrecarga asocia el recurso a un nuevo Process objeto.The overload associates the resource with a new Process object.

Nota

Si la dirección del archivo ejecutable que se va a iniciar es una dirección URL, el proceso no se inicia y null se devuelve.If the address of the executable file to start is a URL, the process is not started and null is returned.

Esta sobrecarga permite iniciar un proceso sin crear primero una nueva Process instancia.This overload lets you start a process without first creating a new Process instance. El uso de esta sobrecarga con un ProcessStartInfo parámetro es una alternativa a los pasos explícitos para crear una nueva Process instancia, establecer sus StartInfo propiedades y llamar a Start para la Process instancia.Using this overload with a ProcessStartInfo parameter is an alternative to the explicit steps of creating a new Process instance, setting its StartInfo properties, and calling Start for the Process instance.

El uso de una ProcessStartInfo instancia como parámetro le permite llamar a Start con el mayor control sobre lo que se pasa a la llamada para iniciar el proceso.Using a ProcessStartInfo instance as the parameter lets you call Start with the most control over what is passed into the call to start the process. Si solo necesita pasar un nombre de archivo o un nombre de archivo y argumentos, no es necesario crear una nueva ProcessStartInfo instancia, aunque es una opción.If you need to pass only a file name or a file name and arguments, it is not necessary to create a new ProcessStartInfo instance, although that is an option. La única Process.StartInfo propiedad que se debe establecer es la FileName propiedad.The only Process.StartInfo property that must be set is the FileName property. FileNameNo es necesario que la propiedad represente un archivo ejecutable.The FileName property does not need to represent an executable file. Puede ser de cualquier tipo de archivo para el que la extensión se ha asociado a una aplicación que está instalada en el sistema.It can be of any file type for which the extension has been associated with an application that is installed on the system. Por ejemplo, la FileName propiedad puede tener una extensión. txt si tiene archivos de texto asociados con un editor, como el Bloc de notas, o puede tener una extensión. doc si tiene asociados archivos. doc con una herramienta de procesamiento de texto, como Microsoft Word.For example, the FileName property can have a .txt extension if you have associated text files with an editor, such as Notepad, or it can have a .doc extension if you have associated .doc files with a word processing tool, such as Microsoft Word.

Puede iniciar una aplicación ClickOnce especificando la ubicación (por ejemplo, una dirección web) desde la que instaló originalmente la aplicación.You can start a ClickOnce application by specifying the location (for example, a Web address) from which you originally installed the application. No inicie una aplicación ClickOnce especificando su ubicación de instalación en el disco duro.Do not start a ClickOnce application by specifying its installed location on your hard drive.

Si ProcessStartInfo.UserName ProcessStartInfo.Password se establecen las propiedades y de la StartInfo instancia, CreateProcessWithLogonW se llama a la función no administrada, que inicia el proceso en una nueva ventana incluso si el valor de la ProcessStartInfo.CreateNoWindow propiedad es true o el valor de la ProcessStartInfo.WindowStyle propiedad es ProcessWindowStyle.Hidden .If the ProcessStartInfo.UserName and ProcessStartInfo.Password properties of the StartInfo instance are set, the unmanaged CreateProcessWithLogonW function is called, which starts the process in a new window even if the ProcessStartInfo.CreateNoWindow property value is true or the ProcessStartInfo.WindowStyle property value is ProcessWindowStyle.Hidden. Si la ProcessStartInfo.Domain propiedad es null , la ProcessStartInfo.UserName propiedad debe tener el formato UPN DNS_domain_name usuario @ .If the ProcessStartInfo.Domain property is null, the ProcessStartInfo.UserName property must be in UPN format, user@DNS_domain_name.

A diferencia de las otras sobrecargas, la sobrecarga de Start que no tiene ningún parámetro no es un static miembro.Unlike the other overloads, the overload of Start that has no parameters is not a static member. Use esa sobrecarga si ya ha creado una Process instancia y la información de inicio especificada (incluido el nombre de archivo) y desea iniciar un recurso de proceso y asociarlo a la Process instancia existente.Use that overload when you have already created a Process instance and specified start information (including the file name), and you want to start a process resource and associate it with the existing Process instance. Use una de las static sobrecargas cuando desee crear un Process componente nuevo en lugar de iniciar un proceso para un componente existente.Use one of the static overloads when you want to create a new Process component rather than start a process for an existing component. Tanto esta sobrecarga como la sobrecarga que no tiene parámetros permiten especificar la información de inicio del recurso de proceso mediante una instancia de ProcessStartInfo .Both this overload and the overload that has no parameters allow you to specify the start information for the process resource by using a ProcessStartInfo instance.

Si tiene una variable de ruta de acceso declarada en el sistema mediante comillas, debe calificar totalmente esa ruta de acceso al iniciar cualquier proceso que se encuentre en esa ubicación.If you have a path variable declared in your system using quotes, you must fully qualify that path when starting any process found in that location. De lo contrario, el sistema no encontrará la ruta de acceso.Otherwise, the system will not find the path. Por ejemplo, si c:\mypath no está en la ruta de acceso y lo agrega mediante comillas: path = %path%;"c:\mypath" , debe calificar completamente cualquier proceso en c:\mypath al iniciarlo.For example, if c:\mypath is not in your path, and you add it using quotation marks: path = %path%;"c:\mypath", you must fully qualify any process in c:\mypath when starting it.

Nota

La Página Web de ASP.NET y el código de control de servidor se ejecutan en el contexto del proceso de trabajo ASP.NET en el servidor Web.ASP.NET Web page and server control code executes in the context of the ASP.NET worker process on the Web server. Si usa el Start método en una página web o un control de servidor ASP.net, el nuevo proceso se ejecuta en el servidor Web con permisos restringidos.If you use the Start method in an ASP.NET Web page or server control, the new process executes on the Web server with restricted permissions. El proceso no se inicia en el mismo contexto que el explorador del cliente y no tiene acceso al escritorio del usuario.The process does not start in the same context as the client browser, and does not have access to the user desktop.

Siempre que se usa Start para iniciar un proceso, es posible que tenga que cerrarlo o arriesgar la pérdida de recursos del sistema.Whenever you use Start to start a process, you might need to close it or you risk losing system resources. Cierre los procesos mediante CloseMainWindow o Kill .Close processes using CloseMainWindow or Kill. Puede comprobar si un proceso ya se ha cerrado mediante su HasExited propiedad.You can check whether a process has already been closed by using its HasExited property.

Aquí es necesario realizar una nota sobre los Estados de apartamento de los subprocesos administrados.A note about apartment states in managed threads is necessary here. Cuando UseShellExecute esté true en el startInfo parámetro, asegúrese de que ha establecido un modelo de subprocesos en la aplicación estableciendo el atributo [STAThread] en el main() método.When UseShellExecute is true on the startInfo parameter, make sure you have set a threading model on your application by setting the attribute [STAThread] on the main() method. De lo contrario, un subproceso administrado puede estar en un unknown Estado o colocarse en el MTA Estado, el último de los cuales entra en conflicto con UseShellExecute true .Otherwise, a managed thread can be in an unknown state or put in the MTA state, the latter of which conflicts with UseShellExecute being true. Algunos métodos requieren que el estado del apartamento no sea unknown .Some methods require that the apartment state not be unknown. Si el estado no se establece explícitamente, cuando la aplicación encuentra un método de este tipo, el valor predeterminado es MTA y, una vez establecido, no se puede cambiar el estado del apartamento.If the state is not explicitly set, when the application encounters such a method, it defaults to MTA, and once set, the apartment state cannot be changed. Sin embargo, MTA hace que se produzca una excepción cuando el Shell del sistema operativo administra el subproceso.However, MTA causes an exception to be thrown when the operating system shell is managing the thread.

Consulte también

Se aplica a

Start(String, IEnumerable<String>)

Inicia un recurso de proceso mediante la especificación del nombre de una aplicación y un conjunto de argumentos de línea de comandos.Starts a process resource by specifying the name of an application and a set of command line arguments.

public:
 static System::Diagnostics::Process ^ Start(System::String ^ fileName, System::Collections::Generic::IEnumerable<System::String ^> ^ arguments);
public static System.Diagnostics.Process Start (string fileName, System.Collections.Generic.IEnumerable<string> arguments);
static member Start : string * seq<string> -> System.Diagnostics.Process
Public Shared Function Start (fileName As String, arguments As IEnumerable(Of String)) As Process

Parámetros

fileName
String

Nombre de un archivo de documento o aplicación que se va a ejecutar en el proceso.The name of a document or application file to run in the process.

arguments
IEnumerable<String>

Argumentos de línea de comandos que se van a pasar al iniciar el proceso.The command-line arguments to pass when starting the process.

Devoluciones

Process

Nuevo Process que está asociado al recurso del proceso, o null si no se inicia ningún recurso de proceso.A new Process that is associated with the process resource, or null if no process resource is started.

Comentarios

Cada argumento se convierte automáticamente en carácter de escape si es necesario.Each argument will be escaped automatically if required.

Se aplica a