Process.StartInfo Propriedade

Definição

Obtém ou define as propriedades para passar ao Start() método do Process.

public:
 property System::Diagnostics::ProcessStartInfo ^ StartInfo { System::Diagnostics::ProcessStartInfo ^ get(); void set(System::Diagnostics::ProcessStartInfo ^ value); };
[System.ComponentModel.Browsable(false)]
public System.Diagnostics.ProcessStartInfo StartInfo { get; set; }
[<System.ComponentModel.Browsable(false)>]
member this.StartInfo : System.Diagnostics.ProcessStartInfo with get, set
Public Property StartInfo As ProcessStartInfo

Valor de Propriedade

O ProcessStartInfo que representa os dados com os quais iniciar o processo. Estes argumentos incluem o nome do ficheiro executável ou documento usado para iniciar o processo.

Atributos

Exceções

O valor que especifica o StartInfo é null.

.NET Core e .NET apenas 5+: O método Start() não foi usado para iniciar o processo.

Exemplos

O exemplo seguinte preenche a StartInfo com o ficheiro a executar, a ação realizada nele e se deve apresentar uma interface de utilizador. Para exemplos adicionais, consulte as páginas de referência para as propriedades da ProcessStartInfo classe.

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 it 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);
            }
        }
    }
}
open System.Diagnostics

try
    use 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() |> ignore
// This code assumes the process you are starting will terminate itself.
// Given that it 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.
with e ->
    printfn $"{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 it 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

Observações

StartInfo representa o conjunto de parâmetros a usar para iniciar um processo. Quando Start é chamado, o StartInfo é usado para especificar o processo a iniciar. O único elemento necessário StartInfo para definir é a FileName propriedade. Iniciar um processo especificando a propriedade FileName é semelhante a escrever a informação na caixa de diálogo Run do menu Windows Start. Portanto, a FileName propriedade não precisa de representar um ficheiro executável. Pode ser de qualquer tipo de ficheiro para o qual a extensão tenha sido associada a uma aplicação instalada no sistema. Por exemplo, o FileName pode ter uma extensão .txt se tiver ficheiros de texto associados a um editor, como o Notepad, ou pode ter um .doc se tiver ficheiros .doc associados a uma ferramenta de processamento de texto, como Microsoft Word. De forma semelhante, da mesma forma que a caixa de diálogo Executar pode aceitar um nome de ficheiro executável com ou sem a extensão .exe, a extensão .exe é opcional no FileName membro. Por exemplo, podes definir a FileName propriedade para "Notepad.exe" ou "Notepad".

Pode iniciar uma aplicação ClickOnce definindo a FileName propriedade para a localização (por exemplo, um endereço Web) a partir da qual instalou originalmente a aplicação. Não inicie uma aplicação ClickOnce especificando a sua localização instalada no seu disco rígido.

Se o nome do ficheiro envolver um ficheiro não executável, como um ficheiro .doc, pode incluir um verbo que especifique que ação tomar sobre o ficheiro. Por exemplo, podes definir para Verb "Imprimir" para um ficheiro que termina na extensão .doc. O nome do ficheiro especificado na FileName propriedade não precisa de extensão se introduzir manualmente um valor para a Verb propriedade. No entanto, se usar a Verbs propriedade para determinar que verbos estão disponíveis, deve incluir a extensão.

Pode alterar os parâmetros especificados na StartInfo propriedade até ao momento em que chama o Start método no processo. Depois de iniciar o processo, alterar os StartInfo valores não afeta nem reinicia o processo associado. Se chamar o Start(ProcessStartInfo) método com o ProcessStartInfo.UserName conjunto de propriedades e ProcessStartInfo.Password , é chamada a função não gerida CreateProcessWithLogonW , que inicia o processo numa nova janela mesmo que o CreateNoWindow valor da propriedade seja true ou o WindowStyle valor da propriedade seja Hidden.

Só deve aceder à StartInfo propriedade num Process objeto devolvido pelo Start método. Por exemplo, não deve aceder à StartInfo propriedade num Process objeto devolvido por GetProcesses. Caso contrário, no .NET Core a propriedade StartInfo lança um InvalidOperationException e no .NET Framework devolve um objeto fictício ProcessStartInfo.

Quando o processo é iniciado, o nome do ficheiro é o ficheiro que preenche a propriedade (apenas MainModule leitura). Se quiser recuperar o ficheiro executável associado ao processo depois de este ter começado, use a MainModule propriedade. Se quiser definir o ficheiro executável de uma Process instância para a qual um processo associado ainda não foi iniciado, use o StartInfo membro da FileName propriedade. Como os elementos da StartInfo propriedade são argumentos que são passados ao Start método de um processo, alterar a FileName propriedade depois de o processo associado ter começado não irá reiniciar a propriedade MainModule . Estas propriedades são usadas apenas para inicializar o processo associado.

Aplica-se a

Ver também