Process.StartInfo Tulajdonság
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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.