Process.Start Método

Definição

Inicia um recurso de processo e o associa a um componente Process.Starts a process resource and associates it with a Process component.

Sobrecargas

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

Inicia um recurso de processo, especificando o nome de um aplicativo, um conjunto de argumentos de linha de comando, um nome de usuário, uma senha e um domínio e associa o recurso a um novo componente 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 um recurso de processo, especificando o nome de um aplicativo, um nome de usuário, uma senha e um domínio e associa o recurso a um novo componente 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 um recurso de processo especificando o nome de um aplicativo e um conjunto de argumentos de linha de comando e associa o recurso a um novo 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 (ou reutiliza) o recurso do processo que é especificado pela propriedade StartInfo desse componente Process e o associa ao 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 um recurso de processo especificando o nome de um arquivo de aplicativo ou documento e associa o recurso a um novo 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 o recurso de processo especificado pelo parâmetro que contém informações de início do processo (por exemplo, o nome do arquivo do processo a ser iniciado) e associa o recurso a um novo 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 um recurso de processo especificando o nome de um aplicativo e um conjunto de argumentos de linha de comando.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 não está em conformidade com CLS.

Inicia um recurso de processo, especificando o nome de um aplicativo, um conjunto de argumentos de linha de comando, um nome de usuário, uma senha e um domínio e associa o recurso a um novo componente 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);
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);
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

O nome de um arquivo de aplicativo a ser executado no processo.The name of an application file to run in the process.

arguments
String

Argumentos de linha de comando a serem passados durante o início do processo.Command-line arguments to pass when starting the process.

userName
String

O nome de usuário a ser usado ao iniciar o processo.The user name to use when starting the process.

password
SecureString

Um SecureString que contém a senha a ser usada ao iniciar o processo.A SecureString that contains the password to use when starting the process.

domain
String

O domínio a ser usado ao iniciar o processo.The domain to use when starting the process.

Retornos

Process

Um novo Process associado ao recurso do processo, ou null, se nenhum recurso do processo tiver sido iniciado.A new Process that is associated with the process resource, or null if no process resource is started. Observe que um novo processo iniciado junto com instâncias já em execução do mesmo processo será independente dos outros.Note that a new process that's started alongside already running instances of the same process will be independent from the others. Além disso, Iniciar poderá retornar um Processo não nulo com a propriedade HasExited já definida como true.In addition, Start may return a non-null Process with its HasExited property already set to true. Nesse caso, o processo iniciado pode ter ativado uma instância existente de si próprio e fechado em seguida.In this case, the started process may have activated an existing instance of itself and then exited.

Atributos

Exceções

Nenhum nome de arquivo foi especificado.No file name was specified.

Ocorreu um erro ao abrir o arquivo associado.An error occurred when opening the associated file.

- ou --or-

Não foi possível encontrar o arquivo especificado no fileName.The file specified in the fileName could not be found.

- ou --or- A soma do tamanho dos argumentos e o tamanho do caminho completo para o arquivo associado excede 2.080.The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080. A mensagem de erro associada a essa exceção pode ser uma das seguintes: “A área de dados transferida para uma chamada do sistema é muito pequena”.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." ou “O acesso foi negado”.or "Access is denied."

O objeto do processo já foi descartado.The process object has already been disposed.

Este membro não é compatível com o Linux ou o macOS (somente .NET Core).This member is not supported on Linux or macOS (.NET Core only).

Comentários

Use essa sobrecarga para criar um novo processo e seu thread principal especificando seu nome de arquivo, argumentos de linha de comando, nome de usuário, senha e domínio.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. Em seguida, o novo processo executa o arquivo executável especificado no contexto de segurança das credenciais especificadas (usuário, domínio e senha).The new process then runs the specified executable file in the security context of the specified credentials (user, domain, and password).

Observação

Quando o arquivo executável está localizado em uma unidade remota, você deve identificar o compartilhamento de rede usando um URI (Uniform Resource Identifier), não uma letra de unidade 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.

Observação

Se o endereço do arquivo executável a ser iniciado for uma URL, o processo não será iniciado e null será retornado.If the address of the executable file to start is a URL, the process is not started and null is returned.

Essa sobrecarga permite que você inicie um processo sem primeiro criar uma nova Process instância.This overload lets you start a process without first creating a new Process instance. A sobrecarga é uma alternativa para as etapas explícitas da criação de uma nova Process instância, a definição das FileName Arguments Propriedades,, UserName , Password e Domain da StartInfo propriedade, e Start a chamada para a Process instância.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.

Da mesma forma, da mesma maneira que a caixa de diálogo executar pode aceitar um nome de arquivo executável com ou sem a extensão. exe, a extensão. exe é opcional no 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 exemplo, você pode definir o fileName parâmetro como "Notepad.exe" ou "notepad".For example, you can set the fileName parameter to either "Notepad.exe" or "Notepad". Se o fileName parâmetro representar um arquivo executável, o arguments parâmetro poderá representar um arquivo para agir, como o arquivo de texto no 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.

Observação

O nome do arquivo deve representar um arquivo executável nas Start sobrecargas que têm userName os password parâmetros, e domain .The file name must represent an executable file in the Start overloads that have userName, password, and domain parameters.

Sempre que usar Start o para iniciar um processo, talvez seja necessário fechá-lo ou arriscar a perder os recursos do sistema.Whenever you use Start to start a process, you might need to close it or you risk losing system resources. Feche os processos usando o CloseMainWindow ou o Kill .Close processes using CloseMainWindow or Kill. Você pode verificar se um processo já foi fechado usando sua HasExited propriedade.You can check whether a process has already been closed by using its HasExited property.

Aplica-se a

Produto Introduced

Start(String, String, SecureString, String)

Importante

Esta API não está em conformidade com CLS.

Inicia um recurso de processo, especificando o nome de um aplicativo, um nome de usuário, uma senha e um domínio e associa o recurso a um novo componente 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);
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);
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

O nome de um arquivo de aplicativo a ser executado no processo.The name of an application file to run in the process.

userName
String

O nome de usuário a ser usado ao iniciar o processo.The user name to use when starting the process.

password
SecureString

Um SecureString que contém a senha a ser usada ao iniciar o processo.A SecureString that contains the password to use when starting the process.

domain
String

O domínio a ser usado ao iniciar o processo.The domain to use when starting the process.

Retornos

Process

Um novo Process associado ao recurso do processo, ou null, se nenhum recurso do processo tiver sido iniciado.A new Process that is associated with the process resource, or null if no process resource is started. Observe que um novo processo iniciado junto com instâncias já em execução do mesmo processo será independente dos outros.Note that a new process that's started alongside already running instances of the same process will be independent from the others. Além disso, Iniciar poderá retornar um Processo não nulo com a propriedade HasExited já definida como true.In addition, Start may return a non-null Process with its HasExited property already set to true. Nesse caso, o processo iniciado pode ter ativado uma instância existente de si próprio e fechado em seguida.In this case, the started process may have activated an existing instance of itself and then exited.

Atributos

Exceções

Nenhum nome de arquivo foi especificado.No file name was specified.

Erro ao abrir o arquivo associado.There was an error in opening the associated file.

- ou --or-

Não foi possível encontrar o arquivo especificado no fileName.The file specified in the fileName could not be found.

O objeto do processo já foi descartado.The process object has already been disposed.

Este membro não é compatível com o Linux ou o macOS (somente .NET Core).This member is not supported on Linux or macOS (.NET Core only).

Exemplos

O exemplo de código a seguir mostra o uso dessa sobrecarga para iniciar um arquivo executável e também demonstra o lançamento de um Win32Exception quando é feita uma tentativa de iniciar um aplicativo associado a um arquivo não executável.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

Comentários

Use essa sobrecarga para criar um novo processo e seu thread principal especificando seu nome de arquivo, nome de usuário, senha e domínio.Use this overload to create a new process and its primary thread by specifying its file name, user name, password, and domain. Em seguida, o novo processo executa o arquivo executável especificado no contexto de segurança das credenciais especificadas (usuário, domínio e senha).The new process then runs the specified executable file in the security context of the specified credentials (user, domain, and password).

Observação

Quando o arquivo executável está localizado em uma unidade remota, você deve identificar o compartilhamento de rede usando um URI (Uniform Resource Identifier), não uma letra de unidade 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.

Observação

Se o endereço do arquivo executável a ser iniciado for uma URL, o processo não será iniciado e null será retornado.If the address of the executable file to start is a URL, the process is not started and null is returned.

Essa sobrecarga permite que você inicie um processo sem primeiro criar uma nova Process instância.This overload lets you start a process without first creating a new Process instance. A sobrecarga é uma alternativa para as etapas explícitas da criação de uma nova Process instância, a definição das FileName UserName Propriedades,, e Password Domain da StartInfo propriedade, e Start a chamada para a Process instância.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.

Da mesma forma, da mesma maneira que a caixa de diálogo executar pode aceitar um nome de arquivo executável com ou sem a extensão. exe, a extensão. exe é opcional no 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 exemplo, você pode definir o fileName parâmetro como "Notepad.exe" ou "notepad".For example, you can set the fileName parameter to either "Notepad.exe" or "Notepad". Se o fileName parâmetro representar um arquivo executável, o arguments parâmetro poderá representar um arquivo para agir, como o arquivo de texto no 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.

Observação

O nome do arquivo deve representar um arquivo executável nas Start sobrecargas que têm userName os password parâmetros, e domain .The file name must represent an executable file in the Start overloads that have userName, password, and domain parameters.

Sempre que usar Start o para iniciar um processo, talvez seja necessário fechá-lo ou arriscar a perder os recursos do sistema.Whenever you use Start to start a process, you might need to close it or you risk losing system resources. Feche os processos usando o CloseMainWindow ou o Kill .Close processes using CloseMainWindow or Kill. Você pode verificar se um processo já foi fechado usando sua HasExited propriedade.You can check whether a process has already been closed by using its HasExited property.

Aplica-se a

Produto Introduced

Start(String, String)

Inicia um recurso de processo especificando o nome de um aplicativo e um conjunto de argumentos de linha de comando e associa o recurso a um novo 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

O nome de um arquivo de aplicativo a ser executado no processo.The name of an application file to run in the process.

arguments
String

Argumentos de linha de comando a serem passados durante o início do processo.Command-line arguments to pass when starting the process.

Retornos

Process

Um novo Process associado ao recurso do processo, ou null, se nenhum recurso do processo tiver sido iniciado.A new Process that is associated with the process resource, or null if no process resource is started. Observe que um novo processo iniciado junto com instâncias já em execução do mesmo processo será independente dos outros.Note that a new process that's started alongside already running instances of the same process will be independent from the others. Além disso, Iniciar poderá retornar um Processo não nulo com a propriedade HasExited já definida como true.In addition, Start may return a non-null Process with its HasExited property already set to true. Nesse caso, o processo iniciado pode ter ativado uma instância existente de si próprio e fechado em seguida.In this case, the started process may have activated an existing instance of itself and then exited.

Exceções

O parâmetro fileName ou arguments é null.The fileName or arguments parameter is null.

Ocorreu um erro ao abrir o arquivo associado.An error occurred when opening the associated file.

- ou --or-

Não foi possível encontrar o arquivo especificado no fileName.The file specified in the fileName could not be found.

- ou --or- A soma do comprimento dos argumentos e do comprimento do caminho completo para o processo excede 2080.The sum of the length of the arguments and the length of the full path to the process exceeds 2080. A mensagem de erro associada a essa exceção pode ser uma das seguintes: “A área de dados transferida para uma chamada do sistema é muito pequena”.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." ou “O acesso foi negado”.or "Access is denied."

O objeto do processo já foi descartado.The process object has already been disposed.

A variável de ambiente PATH tem uma cadeia de caracteres que contém aspas.The PATH environment variable has a string containing quotes.

Exemplos

O exemplo a seguir gera primeiro uma instância do Internet Explorer e exibe o conteúdo da pasta favoritos no navegador.The following example first spawns an instance of Internet Explorer and displays the contents of the Favorites folder in the browser. Em seguida, ele inicia algumas outras instâncias do Internet Explorer e exibe algumas páginas ou sites específicos.It then starts some other instances of Internet Explorer and displays some specific pages or sites. Por fim, ele inicia o Internet Explorer com a janela sendo minimizada durante a navegação para um site 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

Comentários

Use essa sobrecarga para iniciar um recurso de processo especificando seu nome de arquivo e argumentos de linha de comando.Use this overload to start a process resource by specifying its file name and command-line arguments. A sobrecarga associa o recurso a um novo Process objeto.The overload associates the resource with a new Process object.

Observação

Se o endereço do arquivo executável a ser iniciado for uma URL, o processo não será iniciado e null será retornado.If the address of the executable file to start is a URL, the process is not started and null is returned.

Essa sobrecarga permite que você inicie um processo sem primeiro criar uma nova Process instância.This overload lets you start a process without first creating a new Process instance. A sobrecarga é uma alternativa para as etapas explícitas da criação de uma nova Process instância, a definição dos FileName Arguments Membros e da StartInfo propriedade e Start a chamada para a Process instância.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 um processo especificando seu nome de arquivo e argumentos é semelhante a digitar o nome do arquivo e os argumentos de linha de comando na Run caixa de diálogo do menu do 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. Portanto, o nome do arquivo não precisa representar um arquivo executável.Therefore, the file name does not need to represent an executable file. Pode ser de qualquer tipo de arquivo para o qual a extensão tenha sido associada a um aplicativo instalado no sistema.It can be of any file type for which the extension has been associated with an application installed on the system. Por exemplo, o nome do arquivo pode ter uma extensão. txt se você tiver arquivos de texto associados a um editor, como o bloco de notas, ou pode ter um. doc se você tiver associado arquivos. doc com uma ferramenta de processamento de texto, como o 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. Da mesma forma, da mesma maneira que a Run caixa de diálogo pode aceitar um nome de arquivo executável com ou sem a extensão. exe, a extensão. exe é opcional no 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 exemplo, você pode definir o fileName parâmetro como "Notepad.exe" ou "notepad".For example, you can set the fileName parameter to either "Notepad.exe" or "Notepad". Se o fileName parâmetro representar um arquivo executável, o arguments parâmetro poderá representar um arquivo para agir, como o arquivo de texto no 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. Se o fileName parâmetro representar um arquivo de comando (. cmd), o arguments parâmetro deverá incluir um /c argumento "" ou " /k " para especificar se a janela de comando é encerrada ou permanece após a conclusão.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.

Ao contrário das outras sobrecargas, a sobrecarga de Start que não tem nenhum parâmetro não é um static membro.Unlike the other overloads, the overload of Start that has no parameters is not a static member. Use essa sobrecarga quando você já tiver criado uma Process instância do e especificado as informações de início (incluindo o nome do arquivo) e quiser iniciar um recurso de processo e associá-lo à Process instância 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 uma das static sobrecargas quando desejar criar um novo Process componente em vez de iniciar um processo para um 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. Essa sobrecarga e a sobrecarga que não têm parâmetros permitem que você especifique o nome de arquivo do recurso de processo para iniciar e argumentos de linha de comando a serem aprovados.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.

Se você tiver uma variável de caminho declarada no seu sistema usando aspas, deverá qualificar totalmente esse caminho ao iniciar qualquer processo encontrado nesse local.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. Caso contrário, o sistema não encontrará o caminho.Otherwise, the system will not find the path. Por exemplo, se c:\mypath não estiver em seu caminho e você adicioná-lo usando aspas: path = %path%;"c:\mypath" , você deverá qualificar totalmente qualquer processo no c:\mypath ao iniciá-lo.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.

Observação

O código de controle de servidor e de página da Web ASP.NET é executado no contexto do processo de trabalho do ASP.NET no servidor Web.ASP.NET Web page and server control code executes in the context of the ASP.NET worker process on the Web server. Se você usar o Start método em uma página da Web do ASP.net ou no controle de servidor, o novo processo será executado no servidor Web com permissões restritas.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. O processo não é iniciado no mesmo contexto que o navegador do cliente e não tem acesso à área de trabalho do usuário.The process does not start in the same context as the client browser, and does not have access to the user desktop.

Sempre que usar Start o para iniciar um processo, talvez seja necessário fechá-lo ou arriscar a perder os recursos do sistema.Whenever you use Start to start a process, you might need to close it or you risk losing system resources. Feche os processos usando o CloseMainWindow ou o Kill .Close processes using CloseMainWindow or Kill. Você pode verificar se um processo já foi fechado usando sua HasExited propriedade.You can check whether a process has already been closed by using its HasExited property.

Uma observação sobre os Estados de apartamento em threads gerenciados é necessária aqui.A note about apartment states in managed threads is necessary here. Quando UseShellExecute true o estiver na Propriedade do componente do processo StartInfo , verifique se você definiu um modelo de Threading em seu aplicativo definindo o atributo [STAThread] no 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. Caso contrário, um thread gerenciado pode estar em um unknown estado ou colocado no MTA estado, o último dos quais está em UseShellExecute conflito 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. Alguns métodos exigem que o estado apartment não seja unknown .Some methods require that the apartment state not be unknown. Se o estado não for definido explicitamente, quando o aplicativo encontrar esse método, ele usa como padrão MTA e, uma vez definido, o estado do apartamento não pode ser alterado.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. No entanto, MTA faz com que uma exceção seja gerada quando o Shell do sistema operacional estiver gerenciando o thread.However, MTA causes an exception to be thrown when the operating system shell is managing the thread.

Confira também

Aplica-se a

Produto Introduced

Start()

Inicia (ou reutiliza) o recurso do processo que é especificado pela propriedade StartInfo desse componente Process e o associa ao 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

Retornos

Boolean

true se um recurso de processo for iniciado, false se nenhum novo recurso de processo for iniciado (por exemplo, se um processo existente for reutilizado).true if a process resource is started; false if no new process resource is started (for example, if an existing process is reused).

Exceções

Não foi especificado nenhum nome de arquivo no StartInfo do componente Process.No file name was specified in the Process component's StartInfo.

- ou --or-

O membro UseShellExecute da propriedade StartInfo é true enquanto RedirectStandardInput, RedirectStandardOutput ou RedirectStandardError é true.The UseShellExecute member of the StartInfo property is true while RedirectStandardInput, RedirectStandardOutput, or RedirectStandardError is true.

Erro ao abrir o arquivo associado.There was an error in opening the associated file.

O objeto do processo já foi descartado.The process object has already been disposed.

Sistemas operacionais sem suporte para shell, como o Nano Server (somente .NET Core) não são compatíveis com o método.Method not supported on operating systems without shell support such as Nano Server (.NET Core only).

Exemplos

O exemplo a seguir usa uma instância da Process classe para iniciar um processo.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

Comentários

Use essa sobrecarga para iniciar um recurso de processo e associá-lo ao Process componente atual.Use this overload to start a process resource and associate it with the current Process component. O valor de retorno true indica que um novo recurso de processo foi iniciado.The return value true indicates that a new process resource was started. Se o recurso de processo especificado pelo FileName membro da StartInfo Propriedade já estiver em execução no computador, nenhum recurso de processo adicional será iniciado.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. Em vez disso, o recurso de processo em execução é reutilizado e false retornado.Instead, the running process resource is reused and false is returned.

Você pode iniciar um aplicativo ClickOnce especificando o local (por exemplo, um endereço da Web) do qual você instalou originalmente o aplicativo.You can start a ClickOnce application by specifying the location (for example, a Web address) from which you originally installed the application. Não inicie um aplicativo ClickOnce especificando seu local de instalação no disco rígido.Do not start a ClickOnce application by specifying its installed location on your hard drive.

Observação

Se você estiver usando o Visual Studio, essa sobrecarga do Start método será a que você inserir em seu código depois de arrastar um Process componente para o designer.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 a Properties janela para expandir a StartInfo categoria e gravar o valor apropriado na FileName propriedade.Use the Properties window to expand the StartInfo category and write the appropriate value into the FileName property. Suas alterações aparecerão no procedimento do formulário InitializeComponent .Your changes will appear in the form's InitializeComponent procedure.

Essa sobrecarga de Start não é um static método.This overload of Start is not a static method. Você deve chamá-lo de uma instância da Process classe.You must call it from an instance of the Process class. Antes Start de chamar, você deve primeiro especificar StartInfo informações de propriedade para essa Process instância, pois essas informações são usadas para determinar o recurso de processo a ser iniciado.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.

As outras sobrecargas do Start método são static Membros.The other overloads of the Start method are static members. Você não precisa criar uma instância do Process componente antes de chamar essas sobrecargas do método.You do not need to create an instance of the Process component before you call those overloads of the method. Em vez disso, você pode chamar Start para a Process própria classe e um novo Process componente será criado se o processo tiver sido iniciado.Instead, you can call Start for the Process class itself, and a new Process component is created if the process was started. Ou, null será retornado se um processo tiver sido reutilizado.Or, null is returned if a process was reused. O recurso de processo é associado automaticamente ao novo Process componente que é retornado pelo Start método.The process resource is automatically associated with the new Process component that is returned by the Start method.

Os StartInfo Membros podem ser usados para duplicar a funcionalidade da Run caixa de diálogo do menu do Windows Start .The StartInfo members can be used to duplicate the functionality of the Run dialog box of the Windows Start menu. Qualquer coisa que possa ser digitada em uma linha de comando pode ser iniciada definindo os valores apropriados na StartInfo propriedade.Anything that can be typed into a command line can be started by setting the appropriate values in the StartInfo property. A única StartInfo propriedade que deve ser definida é a FileName propriedade.The only StartInfo property that must be set is the FileName property. A FileName propriedade não precisa ser um arquivo executável.The FileName property does not have to be an executable file. Pode ser de qualquer tipo de arquivo para o qual a extensão tenha sido associada a um aplicativo que está instalado no 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 exemplo, a FileName propriedade pode ter uma extensão. txt se você tiver arquivos de texto associados com um editor, como o bloco de notas, ou pode ter uma extensão. doc se você tiver arquivos. doc associados a uma ferramenta de processamento de texto, como o 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.

Na linha de comando, você pode especificar ações a serem tomadas para determinados tipos de arquivos.In the command line, you can specify actions to take for certain types of files. Por exemplo, você pode imprimir documentos ou editar arquivos de texto.For example, you can print documents or edit text files. Especifique essas ações usando o Verb membro da StartInfo propriedade.Specify these actions using the Verb member of the StartInfo property. Para outros tipos de arquivos, você pode especificar argumentos de linha de comando ao iniciar o arquivo na Run caixa 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 exemplo, você pode passar uma URL como um argumento se especificar o navegador como o FileName .For example, you can pass a URL as an argument if you specify your browser as the FileName. Esses argumentos podem ser especificados no StartInfo membro da propriedade Arguments .These arguments can be specified in the StartInfo property's Arguments member.

Se você tiver uma variável de caminho declarada no seu sistema usando aspas, deverá qualificar totalmente esse caminho ao iniciar qualquer processo encontrado nesse local.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. Caso contrário, o sistema não encontrará o caminho.Otherwise, the system will not find the path. Por exemplo, se c:\mypath não estiver em seu caminho e você adicioná-lo usando aspas: path = %path%;"c:\mypath" , você deverá qualificar totalmente qualquer processo no c:\mypath ao iniciá-lo.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.

Observação

O código de controle de servidor e de página da Web ASP.NET é executado no contexto do processo de trabalho do ASP.NET no servidor Web.ASP.NET Web page and server control code executes in the context of the ASP.NET worker process on the Web server. Se você usar o Start método em uma página da Web do ASP.net ou no controle de servidor, o novo processo será executado no servidor Web com permissões restritas.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. O processo não é iniciado no mesmo contexto que o navegador do cliente e não tem acesso à área de trabalho do usuário.The process does not start in the same context as the client browser, and does not have access to the user desktop.

Sempre que usar Start o para iniciar um processo, talvez seja necessário fechá-lo ou arriscar a perder os recursos do sistema.Whenever you use Start to start a process, you might need to close it or you risk losing system resources. Feche os processos usando o CloseMainWindow ou o Kill .Close processes using CloseMainWindow or Kill. Você pode verificar se um processo já foi fechado usando sua HasExited propriedade.You can check whether a process has already been closed by using its HasExited property.

Uma observação sobre os Estados de apartamento em threads gerenciados é necessária aqui.A note about apartment states in managed threads is necessary here. Quando UseShellExecute true o estiver na Propriedade do componente do processo StartInfo , verifique se você definiu um modelo de Threading em seu aplicativo definindo o atributo [STAThread] no 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. Caso contrário, um thread gerenciado pode estar em um unknown estado ou colocado no MTA estado, o último dos quais está em UseShellExecute conflito 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. Alguns métodos exigem que o estado apartment não seja unknown .Some methods require that the apartment state not be unknown. Se o estado não for definido explicitamente, quando o aplicativo encontrar esse método, ele usa como padrão MTA e, uma vez definido, o estado do apartamento não pode ser alterado.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. No entanto, MTA faz com que uma exceção seja gerada quando o Shell do sistema operacional estiver gerenciando o thread.However, MTA causes an exception to be thrown when the operating system shell is managing the thread.

Confira também

Aplica-se a

Produto Introduced

Start(String)

Inicia um recurso de processo especificando o nome de um arquivo de aplicativo ou documento e associa o recurso a um novo 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

O nome de um arquivo de aplicativo ou documento a ser executado no processo.The name of a document or application file to run in the process.

Retornos

Process

Um novo Process associado ao recurso do processo, ou null, se nenhum recurso do processo tiver sido iniciado.A new Process that is associated with the process resource, or null if no process resource is started. Observe que um novo processo iniciado junto com instâncias já em execução do mesmo processo será independente dos outros.Note that a new process that's started alongside already running instances of the same process will be independent from the others. Além disso, Iniciar poderá retornar um Processo não nulo com a propriedade HasExited já definida como true.In addition, Start may return a non-null Process with its HasExited property already set to true. Nesse caso, o processo iniciado pode ter ativado uma instância existente de si próprio e fechado em seguida.In this case, the started process may have activated an existing instance of itself and then exited.

Exceções

Ocorreu um erro ao abrir o arquivo associado.An error occurred when opening the associated file.

- ou --or-

Não foi possível encontrar o arquivo especificado no fileName.The file specified in the fileName could not be found.

O objeto do processo já foi descartado.The process object has already been disposed.

A variável de ambiente PATH tem uma cadeia de caracteres que contém aspas.The PATH environment variable has a string containing quotes.

Exemplos

O exemplo a seguir gera primeiro uma instância do Internet Explorer e exibe o conteúdo da pasta favoritos no navegador.The following example first spawns an instance of Internet Explorer and displays the contents of the Favorites folder in the browser. Em seguida, ele inicia algumas outras instâncias do Internet Explorer e exibe algumas páginas ou sites específicos.It then starts some other instances of Internet Explorer and displays some specific pages or sites. Por fim, ele inicia o Internet Explorer com a janela sendo minimizada durante a navegação para um site 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

Comentários

Use essa sobrecarga para iniciar um recurso de processo especificando seu nome de arquivo.Use this overload to start a process resource by specifying its file name. A sobrecarga associa o recurso a um novo Process objeto.The overload associates the resource with a new Process object.

Observação

Se o endereço do arquivo executável a ser iniciado for uma URL, o processo não será iniciado e null será retornado.If the address of the executable file to start is a URL, the process is not started and null is returned.

Essa sobrecarga permite que você inicie um processo sem primeiro criar uma nova Process instância.This overload lets you start a process without first creating a new Process instance. A sobrecarga é uma alternativa às etapas explícitas de criar uma nova Process instância, definir o FileName membro da StartInfo propriedade e chamar Start a Process instância.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.

Você pode iniciar um aplicativo ClickOnce definindo o fileName parâmetro para o local (por exemplo, um endereço da Web) do qual você instalou originalmente o aplicativo.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. Não inicie um aplicativo ClickOnce especificando seu local de instalação no disco rígido.Do not start a ClickOnce application by specifying its installed location on your hard drive.

Iniciar um processo especificando seu nome de arquivo é semelhante a digitar as informações na Run caixa de diálogo do menu do 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. Portanto, o nome do arquivo não precisa representar um arquivo executável.Therefore, the file name does not need to represent an executable file. Pode ser de qualquer tipo de arquivo para o qual a extensão tenha sido associada a um aplicativo instalado no sistema.It can be of any file type for which the extension has been associated with an application installed on the system. Por exemplo, o nome do arquivo pode ter uma extensão. txt se você tiver arquivos de texto associados a um editor, como o bloco de notas, ou pode ter um. doc se você tiver associado arquivos. doc com uma ferramenta de processamento de texto, como o 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. Da mesma forma, da mesma maneira que a Run caixa de diálogo pode aceitar um nome de arquivo executável com ou sem a extensão. exe, a extensão. exe é opcional no 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 exemplo, você pode definir o fileName parâmetro como "Notepad.exe" ou "notepad".For example, you can set the fileName parameter to either "Notepad.exe" or "Notepad".

Essa sobrecarga não permite argumentos de linha de comando para o processo.This overload does not allow command-line arguments for the process. Se você precisar especificar um ou mais argumentos de linha de comando para o processo, use as Process.Start(ProcessStartInfo) Process.Start(String, String) sobrecargas ou.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.

Ao contrário das outras sobrecargas, a sobrecarga de Start que não tem nenhum parâmetro não é um static membro.Unlike the other overloads, the overload of Start that has no parameters is not a static member. Use essa sobrecarga quando você já tiver criado uma Process instância do e especificado as informações de início (incluindo o nome do arquivo) e quiser iniciar um recurso de processo e associá-lo à Process instância 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 uma das static sobrecargas quando desejar criar um novo Process componente em vez de iniciar um processo para um 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. Essa sobrecarga e a sobrecarga que não têm parâmetros permitem que você especifique o nome do arquivo do processo a ser iniciado.Both this overload and the overload that has no parameters allow you to specify the file name of the process resource to start.

Se você tiver uma variável de caminho declarada no seu sistema usando aspas, deverá qualificar totalmente esse caminho ao iniciar qualquer processo encontrado nesse local.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. Caso contrário, o sistema não encontrará o caminho.Otherwise, the system will not find the path. Por exemplo, se c:\mypath não estiver em seu caminho e você adicioná-lo usando aspas: path = %path%;"c:\mypath" , você deverá qualificar totalmente qualquer processo no c:\mypath ao iniciá-lo.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.

Observação

O código de controle de servidor e de página da Web ASP.NET é executado no contexto do processo de trabalho do ASP.NET no servidor Web.ASP.NET Web page and server control code executes in the context of the ASP.NET worker process on the Web server. Se você usar o Start método em uma página da Web do ASP.net ou no controle de servidor, o novo processo será executado no servidor Web com permissões restritas.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. O processo não é iniciado no mesmo contexto que o navegador do cliente e não tem acesso à área de trabalho do usuário.The process does not start in the same context as the client browser, and does not have access to the user desktop.

Sempre que usar Start o para iniciar um processo, talvez seja necessário fechá-lo ou arriscar a perder os recursos do sistema.Whenever you use Start to start a process, you might need to close it or you risk losing system resources. Feche os processos usando o CloseMainWindow ou o Kill .Close processes using CloseMainWindow or Kill. Você pode verificar se um processo já foi fechado usando sua HasExited propriedade.You can check whether a process has already been closed by using its HasExited property.

Uma observação sobre os Estados de apartamento em threads gerenciados é necessária aqui.A note about apartment states in managed threads is necessary here. Quando UseShellExecute true o estiver na Propriedade do componente do processo StartInfo , verifique se você definiu um modelo de Threading em seu aplicativo definindo o atributo [STAThread] no 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. Caso contrário, um thread gerenciado pode estar em um unknown estado ou colocado no MTA estado, o último dos quais está em UseShellExecute conflito 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. Alguns métodos exigem que o estado apartment não seja unknown .Some methods require that the apartment state not be unknown. Se o estado não for definido explicitamente, quando o aplicativo encontrar esse método, ele usa como padrão MTA e, uma vez definido, o estado do apartamento não pode ser alterado.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. No entanto, MTA faz com que uma exceção seja gerada quando o Shell do sistema operacional estiver gerenciando o thread.However, MTA causes an exception to be thrown when the operating system shell is managing the thread.

Confira também

Aplica-se a

Produto Introduced

Start(ProcessStartInfo)

Inicia o recurso de processo especificado pelo parâmetro que contém informações de início do processo (por exemplo, o nome do arquivo do processo a ser iniciado) e associa o recurso a um novo 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

O ProcessStartInfo que contém as informações usadas para iniciar o processo, incluindo o nome do arquivo e quaisquer argumentos de linha de comando.The ProcessStartInfo that contains the information that is used to start the process, including the file name and any command-line arguments.

Retornos

Process

Um novo Process associado ao recurso do processo, ou null, se nenhum recurso do processo tiver sido iniciado.A new Process that is associated with the process resource, or null if no process resource is started. Observe que um novo processo iniciado junto com instâncias já em execução do mesmo processo será independente dos outros.Note that a new process that's started alongside already running instances of the same process will be independent from the others. Além disso, Iniciar poderá retornar um Processo não nulo com a propriedade HasExited já definida como true.In addition, Start may return a non-null Process with its HasExited property already set to true. Nesse caso, o processo iniciado pode ter ativado uma instância existente de si próprio e fechado em seguida.In this case, the started process may have activated an existing instance of itself and then exited.

Exceções

Nenhum nome de arquivo foi especificado na propriedade FileName do parâmetro startInfo.No file name was specified in the startInfo parameter's FileName property.

- ou --or- A propriedade UseShellExecute do parâmetro startInfo é true e a propriedade RedirectStandardInput, RedirectStandardOutput ou RedirectStandardError também é true.The UseShellExecute property of the startInfo parameter is true and the RedirectStandardInput, RedirectStandardOutput, or RedirectStandardError property is also true.

- ou --or- A propriedade UseShellExecute do parâmetro startInfo é true e a propriedade UserName não é null ou está vazia ou a propriedade Password não é 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.

O parâmetro startInfo é null.The startInfo parameter is null.

O objeto do processo já foi descartado.The process object has already been disposed.

Ocorreu um erro ao abrir o arquivo associado.An error occurred when opening the associated file.

- ou --or- O arquivo especificado na propriedade FileName do parâmetro startInfo não pôde ser encontrado.The file specified in the startInfo parameter's FileName property could not be found.

- ou --or- A soma do comprimento dos argumentos e do comprimento do caminho completo para o processo excede 2080.The sum of the length of the arguments and the length of the full path to the process exceeds 2080. A mensagem de erro associada a essa exceção pode ser uma das seguintes: “A área de dados transferida para uma chamada do sistema é muito pequena”.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." ou “O acesso foi negado”.or "Access is denied."

Sistemas operacionais sem suporte para shell, como o Nano Server (somente .NET Core) não são compatíveis com o método.Method not supported on operating systems without shell support such as Nano Server (.NET Core only).

Exemplos

O exemplo a seguir gera primeiro uma instância do Internet Explorer e exibe o conteúdo da pasta favoritos no navegador.The following example first spawns an instance of Internet Explorer and displays the contents of the Favorites folder in the browser. Em seguida, ele inicia algumas outras instâncias do Internet Explorer e exibe algumas páginas ou sites específicos.It then starts some other instances of Internet Explorer and displays some specific pages or sites. Por fim, ele inicia o Internet Explorer com a janela sendo minimizada durante a navegação para um site específico.Finally it starts Internet Explorer with the window being minimized while navigating to a specific site.

Para obter exemplos adicionais de outros usos desse método, consulte as propriedades individuais da ProcessStartInfo classe.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

Comentários

Use essa sobrecarga para iniciar um recurso de processo especificando uma ProcessStartInfo instância.Use this overload to start a process resource by specifying a ProcessStartInfo instance. A sobrecarga associa o recurso a um novo Process objeto.The overload associates the resource with a new Process object.

Observação

Se o endereço do arquivo executável a ser iniciado for uma URL, o processo não será iniciado e null será retornado.If the address of the executable file to start is a URL, the process is not started and null is returned.

Essa sobrecarga permite que você inicie um processo sem primeiro criar uma nova Process instância.This overload lets you start a process without first creating a new Process instance. Usar essa sobrecarga com um ProcessStartInfo parâmetro é uma alternativa para as etapas explícitas de criação de uma nova Process instância, definição de suas StartInfo Propriedades e chamada Start para a Process instância.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.

Usar uma ProcessStartInfo instância como o parâmetro permite que você chame Start com o maior controle sobre o que é passado para a chamada para iniciar o processo.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. Se você precisar passar apenas um nome de arquivo ou um nome de arquivo e argumentos, não será necessário criar uma nova ProcessStartInfo instância, embora seja uma opção.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. A única Process.StartInfo propriedade que deve ser definida é a FileName propriedade.The only Process.StartInfo property that must be set is the FileName property. A FileName propriedade não precisa representar um arquivo executável.The FileName property does not need to represent an executable file. Pode ser de qualquer tipo de arquivo para o qual a extensão tenha sido associada a um aplicativo que está instalado no 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 exemplo, a FileName propriedade pode ter uma extensão. txt se você tiver arquivos de texto associados com um editor, como o bloco de notas, ou pode ter uma extensão. doc se você tiver arquivos. doc associados a uma ferramenta de processamento de texto, como o 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.

Você pode iniciar um aplicativo ClickOnce especificando o local (por exemplo, um endereço da Web) do qual você instalou originalmente o aplicativo.You can start a ClickOnce application by specifying the location (for example, a Web address) from which you originally installed the application. Não inicie um aplicativo ClickOnce especificando seu local de instalação no disco rígido.Do not start a ClickOnce application by specifying its installed location on your hard drive.

Se as ProcessStartInfo.UserName ProcessStartInfo.Password Propriedades e da StartInfo instância forem definidas, a função não gerenciada CreateProcessWithLogonW será chamada, o que iniciará o processo em uma nova janela, mesmo se o valor da ProcessStartInfo.CreateNoWindow propriedade for true ou o ProcessStartInfo.WindowStyle valor da propriedade for 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. Se a ProcessStartInfo.Domain propriedade for null , a ProcessStartInfo.UserName Propriedade deverá estar no formato UPN, user @ DNS_domain_namedo usuário.If the ProcessStartInfo.Domain property is null, the ProcessStartInfo.UserName property must be in UPN format, user@DNS_domain_name.

Ao contrário das outras sobrecargas, a sobrecarga de Start que não tem nenhum parâmetro não é um static membro.Unlike the other overloads, the overload of Start that has no parameters is not a static member. Use essa sobrecarga quando você já tiver criado uma Process instância do e especificado as informações de início (incluindo o nome do arquivo) e quiser iniciar um recurso de processo e associá-lo à Process instância 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 uma das static sobrecargas quando desejar criar um novo Process componente em vez de iniciar um processo para um 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. Essa sobrecarga e a sobrecarga que não têm parâmetros permitem que você especifique as informações de início para o recurso de processo usando uma ProcessStartInfo instância do.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.

Se você tiver uma variável de caminho declarada no seu sistema usando aspas, deverá qualificar totalmente esse caminho ao iniciar qualquer processo encontrado nesse local.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. Caso contrário, o sistema não encontrará o caminho.Otherwise, the system will not find the path. Por exemplo, se c:\mypath não estiver em seu caminho e você adicioná-lo usando aspas: path = %path%;"c:\mypath" , você deverá qualificar totalmente qualquer processo no c:\mypath ao iniciá-lo.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.

Observação

O código de controle de servidor e de página da Web ASP.NET é executado no contexto do processo de trabalho do ASP.NET no servidor Web.ASP.NET Web page and server control code executes in the context of the ASP.NET worker process on the Web server. Se você usar o Start método em uma página da Web do ASP.net ou no controle de servidor, o novo processo será executado no servidor Web com permissões restritas.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. O processo não é iniciado no mesmo contexto que o navegador do cliente e não tem acesso à área de trabalho do usuário.The process does not start in the same context as the client browser, and does not have access to the user desktop.

Sempre que usar Start o para iniciar um processo, talvez seja necessário fechá-lo ou arriscar a perder os recursos do sistema.Whenever you use Start to start a process, you might need to close it or you risk losing system resources. Feche os processos usando o CloseMainWindow ou o Kill .Close processes using CloseMainWindow or Kill. Você pode verificar se um processo já foi fechado usando sua HasExited propriedade.You can check whether a process has already been closed by using its HasExited property.

Uma observação sobre os Estados de apartamento em threads gerenciados é necessária aqui.A note about apartment states in managed threads is necessary here. Quando UseShellExecute true o estiver no startInfo parâmetro, verifique se você definiu um modelo de Threading em seu aplicativo definindo o atributo [STAThread] no 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. Caso contrário, um thread gerenciado pode estar em um unknown estado ou colocado no MTA estado, o último dos quais está em UseShellExecute conflito 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. Alguns métodos exigem que o estado apartment não seja unknown .Some methods require that the apartment state not be unknown. Se o estado não for definido explicitamente, quando o aplicativo encontrar esse método, ele usa como padrão MTA e, uma vez definido, o estado do apartamento não pode ser alterado.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. No entanto, MTA faz com que uma exceção seja gerada quando o Shell do sistema operacional estiver gerenciando o thread.However, MTA causes an exception to be thrown when the operating system shell is managing the thread.

Confira também

Aplica-se a

Produto Introduced

Start(String, IEnumerable<String>)

Inicia um recurso de processo especificando o nome de um aplicativo e um conjunto de argumentos de linha de comando.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

O nome de um arquivo de aplicativo ou documento a ser executado no processo.The name of a document or application file to run in the process.

arguments
IEnumerable<String>

Os argumentos de linha de comando a serem passados durante o início do processo.The command-line arguments to pass when starting the process.

Retornos

Process

Um novo Process associado ao recurso do processo, ou null, se nenhum recurso do processo tiver sido iniciado.A new Process that is associated with the process resource, or null if no process resource is started.

Aplica-se a

Produto Introduced