Sdílet prostřednictvím


Process.StartInfo Vlastnost

Definice

Získá nebo nastaví vlastnosti předat metodě Start()Process.

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

Hodnota vlastnosti

Představuje ProcessStartInfo data, se kterými se má proces spustit. Mezi tyto argumenty patří název spustitelného souboru nebo dokumentu použitého k zahájení procesu.

Atributy

Výjimky

Hodnota, která určuje StartInfo hodnotu je null.

Pouze .NET Core a .NET 5+: Metoda Start() nebyla použita ke spuštění procesu.

Příklady

Následující příklad naplní StartInfo souborem, který se má provést, akci provedenou s ním a zda má zobrazit uživatelské rozhraní. Další příklady najdete na referenčních stránkách vlastností ProcessStartInfo třídy.

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

Poznámky

StartInfo představuje sadu parametrů, které se mají použít ke spuštění procesu. Při Start zavolání se použije k určení procesu, StartInfo který se má spustit. Jediným nezbytným StartInfo členem, který se má nastavit, FileName je vlastnost. Spuštění procesu zadáním FileName vlastnosti je podobné zadání informací v dialogovém okně Spustit v nabídce Start systému Windows. FileName Proto vlastnost nemusí představovat spustitelný soubor. Může to být jakýkoli typ souboru, pro který byla přípona přidružena k aplikaci nainstalované v systému. FileName Například může mít příponu .txt, pokud máte přidružené textové soubory s editorem, například Poznámkový blok, nebo může mít .doc, pokud jste přidružovali .doc soubory s nástrojem pro zpracování textu, jako je například Microsoft Word. Podobně jako dialogové okno Spustit může přijmout název spustitelného souboru s příponou .exe nebo bez .exe, je přípona .exe v členu FileName volitelná. Vlastnost můžete například nastavit FileName na "Notepad.exe" nebo "Poznámkový blok".

Aplikaci ClickOnce můžete spustit nastavením FileName vlastnosti na umístění (například webovou adresu), ze které jste původně aplikaci nainstalovali. Nespustíte aplikaci ClickOnce zadáním jeho nainstalovaného umístění na pevném disku.

Pokud název souboru zahrnuje nevýkonný soubor, například soubor .doc, můžete zahrnout příkaz určující, jakou akci se má soubor provést. Můžete například nastavit Verb hodnotu "Tisk" pro soubor končící příponou .doc. Název souboru zadaný ve FileName vlastnosti nemusí mít příponu, pokud ručně zadáte hodnotu vlastnosti Verb . Pokud však pomocí Verbs vlastnosti určíte, jaké příkazy jsou k dispozici, musíte zahrnout rozšíření.

Parametry zadané ve StartInfo vlastnosti můžete změnit až do doby, kdy voláte metodu Start procesu. Po spuštění procesu StartInfo změna hodnot neovlivní ani nerestartuje přidružený proces. Pokud voláte metodu se sadou vlastností, ProcessStartInfo.Password je volána nespravovaná CreateProcessWithLogonW funkce, která spustí proces v novém okně i v případěCreateNoWindow, že je true hodnota vlastnosti nebo WindowStyle hodnota vlastnosti je Hidden.ProcessStartInfo.UserNameStart(ProcessStartInfo)

K vlastnosti byste měli přistupovat StartInfo pouze u Process objektu vráceného metodou Start . Například byste neměli přistupovat k StartInfo vlastnosti objektu vráceného Process objektem GetProcesses. V opačném případě v .NET Core vlastnost StartInfo vyvolá InvalidOperationException a v rozhraní .NET Framework vrátí fiktivní ProcessStartInfo objekt.

Při spuštění procesu je název souboru soubor, který naplní vlastnost (jen pro čtení). MainModule Pokud chcete načíst spustitelný soubor, který je přidružený k procesu po spuštění procesu, použijte MainModule vlastnost. Pokud chcete nastavit spustitelný soubor Process instance, pro kterou nebyl spuštěn přidružený proces, použijte StartInfo člena FileName vlastnosti. Vzhledem k tomu, že členy StartInfo vlastnosti jsou argumenty, které jsou předány Start metodě procesu, změna FileName vlastnosti po spuštění přidruženého procesu nebude resetovat MainModule vlastnost. Tyto vlastnosti se používají pouze k inicializaci přidruženého procesu.

Platí pro

Viz také