ProcessStartInfo Classe

Definição

Especifica um conjunto de valores usados quando você inicia um processo.

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

Exemplos

O exemplo de código a seguir demonstra como usar a ProcessStartInfo classe para iniciar Explorer da Internet. As URLs de destino são fornecidas como ProcessStartInfo argumentos.

#using <System.dll>

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

// Opens the Internet Explorer application.
void OpenApplication(String^ myFavoritesPath)
{
    // Start Internet Explorer. Defaults to the home page.
    Process::Start("IExplore.exe");

    // Display the contents of the favorites folder in the browser.
    Process::Start(myFavoritesPath);
}

// Opens urls and .html documents using Internet Explorer.
void OpenWithArguments()
{
    // URLs are not considered documents. They can only be opened
    // by passing them as arguments.
    Process::Start("IExplore.exe", "www.northwindtraders.com");

    // Start a Web page using a browser associated with .html and .asp files.
    Process::Start("IExplore.exe", "C:\\myPath\\myFile.htm");
    Process::Start("IExplore.exe", "C:\\myPath\\myFile.asp");
}

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

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

namespace MyProcessSample
{
    class MyProcess
    {
        // Opens the Internet Explorer application.
        void OpenApplication(string myFavoritesPath)
        {
            // Start Internet Explorer. Defaults to the home page.
            Process.Start("IExplore.exe");

            // Display the contents of the favorites folder in the browser.
            Process.Start(myFavoritesPath);
        }

        // Opens urls and .html documents using Internet Explorer.
        void OpenWithArguments()
        {
            // url's are not considered documents. They can only be opened
            // by passing them as arguments.
            Process.Start("IExplore.exe", "www.northwindtraders.com");

            // Start a Web page using a browser associated with .html and .asp files.
            Process.Start("IExplore.exe", "C:\\myPath\\myFile.htm");
            Process.Start("IExplore.exe", "C:\\myPath\\myFile.asp");
        }

        // Uses the ProcessStartInfo class to start new processes,
        // both in a minimized mode.
        void OpenWithStartInfo()
        {
            ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
            startInfo.WindowStyle = ProcessWindowStyle.Minimized;

            Process.Start(startInfo);

            startInfo.Arguments = "www.northwindtraders.com";

            Process.Start(startInfo);
        }

        static void Main()
        {
            // Get the path that stores favorite links.
            string myFavoritesPath =
                Environment.GetFolderPath(Environment.SpecialFolder.Favorites);

            MyProcess myProcess = new MyProcess();

            myProcess.OpenApplication(myFavoritesPath);
            myProcess.OpenWithArguments();
            myProcess.OpenWithStartInfo();
        }
    }
}
Imports System.Diagnostics
Imports System.ComponentModel

Namespace MyProcessSample
    Class MyProcess
        ' Opens the Internet Explorer application.
        Public Sub OpenApplication(myFavoritesPath As String)
            ' Start Internet Explorer. Defaults to the home page.
            Process.Start("IExplore.exe")

            ' Display the contents of the favorites folder in the browser.
            Process.Start(myFavoritesPath)
        End Sub

        ' Opens URLs and .html documents using Internet Explorer.
        Sub OpenWithArguments()
            ' URLs are not considered documents. They can only be opened
            ' by passing them as arguments.
            Process.Start("IExplore.exe", "www.northwindtraders.com")

            ' Start a Web page using a browser associated with .html and .asp files.
            Process.Start("IExplore.exe", "C:\myPath\myFile.htm")
            Process.Start("IExplore.exe", "C:\myPath\myFile.asp")
        End Sub

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

            Process.Start(startInfo)

            startInfo.Arguments = "www.northwindtraders.com"

            Process.Start(startInfo)
        End Sub

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

            Dim myProcess As New MyProcess()

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

Comentários

ProcessStartInfo é usado junto com o Process componente . Ao iniciar um processo usando a Process classe , você tem acesso a informações de processo, além das disponíveis ao anexar a um processo em execução.

Você pode usar a ProcessStartInfo classe para ter um melhor controle sobre o processo iniciado. Você deve pelo menos definir a FileName propriedade, manualmente ou usando o construtor . O nome do arquivo é qualquer aplicativo ou documento. Aqui, um documento é definido como qualquer tipo de arquivo que tenha uma ação aberta ou padrão associada a ele. Você pode exibir tipos de arquivo registrados e seus aplicativos associados para seu computador usando a caixa de diálogo Opções de Pasta , que está disponível por meio do sistema operacional. O botão Avançado leva a uma caixa de diálogo que mostra se há uma ação aberta associada a um tipo de arquivo registrado específico.

Além disso, você pode definir outras propriedades que definem ações a serem executadas com esse arquivo. Você pode especificar um valor específico para o tipo da FileName propriedade para a Verb propriedade . Por exemplo, você pode especificar "print" para um tipo de documento. Além disso, você pode especificar Arguments valores de propriedade para serem argumentos de linha de comando para passar para o procedimento aberto do arquivo. Por exemplo, se você especificar um aplicativo editor de texto na FileName propriedade , poderá usar a Arguments propriedade para especificar um arquivo de texto a ser aberto pelo editor.

A entrada padrão geralmente é o teclado, e a saída padrão e o erro padrão geralmente são a tela do monitor. No entanto, você pode usar as RedirectStandardInputpropriedades , RedirectStandardOutpute RedirectStandardError para fazer com que o processo obtenha a entrada ou retorne a saída para um arquivo ou outro dispositivo. Se você usar as StandardInputpropriedades , StandardOutputou StandardError no Process componente, deverá primeiro definir o valor correspondente na ProcessStartInfo propriedade . Caso contrário, o sistema gera uma exceção quando você lê ou grava no fluxo.

Defina a UseShellExecute propriedade para especificar se deseja iniciar o processo usando o shell do sistema operacional. Se UseShellExecute for definido como false, o novo processo herdará os fluxos de entrada padrão, saída padrão e erro padrão do processo de chamada, a menos que as RedirectStandardInputpropriedades , RedirectStandardOutputou RedirectStandardError , respectivamente, sejam definidas como true.

Você pode alterar o valor de qualquer ProcessStartInfo propriedade até o momento em que o processo é iniciado. Depois de iniciar o processo, alterar esses valores não terá efeito.

Importante

Usar uma instância deste objeto quando você tiver dados não confiáveis é um risco à segurança. Use esse objeto somente quando você tiver dados confiáveis. Para obter mais informações, consulte Validar todas as entradas.

Observação

Essa classe contém uma demanda de link no nível de classe que se aplica a todos os membros. Um SecurityException é gerado quando o chamador imediato não tem permissão de confiança total. Para obter detalhes sobre as demandas de segurança, consulte Vincular demandas.

Construtores

ProcessStartInfo()

Inicializa uma nova instância da classe ProcessStartInfo sem especificar um nome de arquivo a ser usado para iniciar o processo.

ProcessStartInfo(String)

Inicializa uma nova instância da classe ProcessStartInfo e especifica um nome de arquivo, como um aplicativo ou documento, com o qual o processo será iniciado.

ProcessStartInfo(String, IEnumerable<String>)

Especifica um conjunto de valores usados quando você inicia um processo.

ProcessStartInfo(String, String)

Inicializa uma nova instância da classe ProcessStartInfo, especifica um nome de arquivo do aplicativo com o qual iniciar o processo e especifica um conjunto de argumentos de linha de comando para passar para o aplicativo.

Propriedades

ArgumentList

Obtém um conjunto de argumentos de linha de comando a serem usados ao iniciar o aplicativo. As cadeias de caracteres adicionadas à lista não precisam que um caractere de escape seja previamente acrescentado.

Arguments

Obtém ou define o conjunto de argumentos de linha de comando a serem usados ao iniciar o aplicativo.

CreateNoWindow

Obtém ou define um valor que indica se o processo deve ser iniciado em uma nova janela.

Domain

Obtém ou define um valor que identifica o domínio a ser usado ao iniciar o processo. Se esse valor for null, a propriedade UserName deverá ser especificada no formato UPN.

Environment

Obtém as variáveis de ambiente que se aplicam a este processo e a seus processos filho.

EnvironmentVariables

Obtém caminhos de pesquisa para arquivos, diretórios para arquivos temporários, opções específicas de aplicativos e outras informações semelhantes.

ErrorDialog

Obtém ou define um valor que indica se uma caixa de diálogo de erro será exibida para o usuário se o processo não puder ser iniciado.

ErrorDialogParentHandle

Obtém ou define o identificador de janela para usar quando uma caixa de diálogo de erro é mostrada para um processo que não pode ser iniciado.

FileName

Obtém ou define o aplicativo ou documento a ser iniciado.

LoadUserProfile

Obtém ou define um valor que indica se o perfil do usuário do Windows deve ser carregado do Registro.

Password

Obtém ou define uma cadeia de caracteres segura que contém a senha de usuário a ser usada ao iniciar o processo.

PasswordInClearText

Obtém ou define a senha do usuário em texto não criptografado para usar ao iniciar o processo.

RedirectStandardError

Obtém ou define um valor que indica se a saída de erro de um aplicativo é gravada no fluxo StandardError.

RedirectStandardInput

Obtém ou define um valor que indica se a entrada de um aplicativo é lida do fluxo StandardInput.

RedirectStandardOutput

Obtém ou define um valor que indica se a saída textual de um aplicativo é gravada no fluxo StandardOutput.

StandardErrorEncoding

Obtém ou define a codificação preferencial de saída de erro.

StandardInputEncoding

Obtém ou define a codificação preferencial de entrada padrão.

StandardOutputEncoding

Obtém ou define a codificação preferencial de saída padrão.

UseCredentialsForNetworkingOnly

Especifica um conjunto de valores usados quando você inicia um processo.

UserName

Obtém ou define o nome de usuário a ser usado ao iniciar o processo. Se você usar o formato UPN, user@DNS_domain_name, a propriedade Domain deverá ser null.

UseShellExecute

Obtém ou define um valor que indica se o shell do sistema operacional deve ser usado para iniciar o processo.

Verb

Obtém ou define o verbo a ser usado ao abrir o aplicativo ou documento especificado pela propriedade FileName.

Verbs

Obtém o conjunto de verbos associados ao tipo de arquivo especificado pela propriedade FileName.

WindowStyle

Obtém ou define o estado da janela a ser usado quando o processo é iniciado.

WorkingDirectory

Quando a propriedade UseShellExecute é false, obtém ou define o diretório de trabalho para o processo a ser iniciado. Quando UseShellExecute é true, obtém ou define o diretório que contém o processo a ser iniciado.

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também