Process.StartInfo Tulajdonság

Definíció

Lekéri vagy beállítja azokat a tulajdonságokat, amelyek átkerülnek a Start()Processmetódusba.

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

Tulajdonság értéke

Azokat ProcessStartInfo az adatokat jelöli, amelyekkel elindíthatja a folyamatot. Ezek az argumentumok tartalmazzák a folyamat elindításához használt végrehajtható fájl vagy dokumentum nevét.

Attribútumok

Kivételek

Az értéket megadó érték.StartInfonull

.NET Core és .NET 5+ csak: A Start() metódus nem használható a folyamat elindításához.

Példák

Az alábbi példa kitölti StartInfo a végrehajtandó fájlt, a rajta végrehajtott műveletet, valamint azt, hogy megjelenjen-e a felhasználói felület. További példákért tekintse meg az osztály tulajdonságainak referenciaoldalait ProcessStartInfo .

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

Megjegyzések

StartInfo A folyamat elindításához használandó paraméterek halmazát jelöli. Amikor Start a rendszer meghívja, a StartInfo rendszer megadja az elindítandó folyamatot. A beállításhoz az egyetlen szükséges StartInfo tag a FileName tulajdonság. A folyamat indítása a FileName tulajdonság megadásával hasonló az adatok beírásához a Futtatás párbeszédpanelen a Windows Start menüben. Ezért a FileName tulajdonságnak nem kell végrehajtható fájlt képviselnie. Bármilyen fájltípust tartalmazhat, amelyhez a bővítmény a rendszeren telepített alkalmazáshoz van társítva. A FileName például .txt kiterjesztéssel rendelkezhet, ha szövegfájlokat társított egy szerkesztőhöz, például a Jegyzettömbhöz, vagy .doc, ha .doc fájlokat társított egy szövegszerkesztő eszközzel, például Microsoft Word. Hasonlóképpen, ugyanúgy, ahogyan a Futtatás párbeszédpanel elfogad egy végrehajtható fájlnevet a .exe kiterjesztéssel vagy anélkül, a .exe bővítmény nem kötelező a FileName tagban. Beállíthatja például a FileName tulajdonságot "Notepad.exe" vagy "Jegyzettömb" értékre.

A ClickOnce-alkalmazás elindításához állítsa a FileName tulajdonságot arra a helyre (például egy webcímre), ahonnan eredetileg telepítette az alkalmazást. Ne indítsa el a ClickOnce-alkalmazást úgy, hogy megadja annak telepített helyét a merevlemezen.

Ha a fájlnév nem vágható fájlra ( például .doc fájlra) terjed ki, megadhat egy olyan igét, amely meghatározza, hogy milyen műveletet kell elvégeznie a fájlon. Beállíthatja például a Verb "Nyomtatás" értéket a .doc kiterjesztéssel végződő fájlhoz. A tulajdonságban FileName megadott fájlnévnek nem kell kiterjesztéssel rendelkeznie, ha manuálisan adja meg a Verb tulajdonság értékét. Ha azonban a Verbs tulajdonság használatával határozza meg, hogy mely igék érhetők el, a bővítményt is tartalmaznia kell.

A tulajdonságban StartInfo megadott paramétereket a metódus meghívásának Start időpontjáig módosíthatja a folyamat során. A folyamat elindítása után az StartInfo értékek módosítása nem befolyásolja vagy újraindítja a társított folyamatot. Ha a metódust Start(ProcessStartInfo) a ProcessStartInfo.UserNameProcessStartInfo.Password tulajdonságkészlettel hívja meg, a rendszer meghívja a nem felügyelt függvénytCreateProcessWithLogonW, amely akkor is elindítja a folyamatot egy új ablakban, ha a CreateNoWindow tulajdonság értéke vagy true a WindowStyle tulajdonság értéke.Hidden

A tulajdonságot csak a StartInfo metódus által visszaadott Process objektumon érheti Start el. Például nem szabad elérnie a tulajdonságot egyStartInfo, a Process következő által visszaadott GetProcessesobjektumon: . Ellenkező esetben az .NET Core StartInfo tulajdonsága InvalidOperationException, .NET-keretrendszerben pedig egy hamis ProcessStartInfo objektumot ad vissza.

A folyamat indításakor a fájlnév az a fájl, amely feltölti a (csak olvasható) MainModule tulajdonságot. Ha a folyamat elindítása után a folyamathoz társított végrehajtható fájlt szeretné lekérni, használja a tulajdonságot MainModule . Ha egy olyan példány végrehajtható fájlját Process szeretné beállítani, amelyhez egy társított folyamat nem indult el, használja a StartInfo tulajdonság tagját FileName . Mivel a StartInfo tulajdonság tagjai olyan argumentumok, amelyeket a rendszer átad egy Start folyamat metódusának, a FileName tulajdonság a társított folyamat elindítása után történő módosítása nem állítja vissza a tulajdonságot MainModule . Ezek a tulajdonságok csak a társított folyamat inicializálására szolgálnak.

A következőre érvényes:

Lásd még