Partilhar via


ProcessStartInfo Classe

Definição

Especifica um conjunto de valores que são 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 classe para iniciar o ProcessStartInfo Internet Explorer. As URLs de destino são fornecidas como ProcessStartInfo argumentos.

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 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 "imprimir" 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 o RedirectStandardInput, RedirectStandardOutpute RedirectStandardError as propriedades para fazer com que o processo obtenha entrada ou retorne a saída para um arquivo ou outro dispositivo. Se você usar as StandardInputpropriedades, StandardOutputou StandardError propriedades no Process componente, primeiro deverá 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 o processo deve ser iniciado usando o shell do sistema operacional. Se UseShellExecute for definido comofalse, o novo processo herdará a entrada padrão, a saída padrão e os fluxos de erro padrão do processo de chamada, a menos que as RedirectStandardInputpropriedades ou RedirectStandardError , RedirectStandardOutputrespectivamente, 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, a alteração desses valores não terá efeito.

Importante

Usar uma instância desse tipo com dados não confiáveis é um risco à segurança. Use esse objeto somente com 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 demandas de segurança, veja Demandas de Link.

Construtores

Nome Description
ProcessStartInfo()

Inicializa uma nova instância da ProcessStartInfo classe sem especificar um nome de arquivo com o qual iniciar o processo.

ProcessStartInfo(String, IEnumerable<String>)

Inicializa uma nova instância da ProcessStartInfo classe e especifica o nome do aplicativo a ser iniciado e um conjunto de argumentos de linha de comando a serem passados para o aplicativo.

ProcessStartInfo(String, String)

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

ProcessStartInfo(String)

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

Propriedades

Nome Description
ArgumentList

Obtém uma coleção de argumentos de linha de comando a serem usados ao iniciar o aplicativo. As cadeias de caracteres adicionadas à lista não precisam ser escapadas anteriormente.

Arguments

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

CreateNewProcessGroup

Obtém ou define um valor que indica se o processo deve ser iniciado em um novo grupo de processos.

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 UserName propriedade deverá ser especificada no formato UPN.

Environment

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

EnvironmentVariables

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

ErrorDialog

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

ErrorDialogParentHandle

Obtém ou define o identificador de janela a ser usado 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 de usuário do Windows deve ser carregado do registro.

Password

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

PasswordInClearText

Obtém ou define a senha do usuário em texto claro a ser usado ao iniciar o processo.

RedirectStandardError

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

RedirectStandardInput

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

RedirectStandardOutput

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

StandardErrorEncoding

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

StandardInputEncoding

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

StandardOutputEncoding

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

UseCredentialsForNetworkingOnly

Obtém ou define um valor que indica se as credenciais do usuário são usadas apenas para recursos de rede.

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_namea Domain propriedade 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 FileName propriedade.

Verbs

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

WindowStyle

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

WorkingDirectory

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

Métodos

Nome Description
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 Objectatual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também