Process.StartInfo Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
Waarde van eigenschap
De ProcessStartInfo gegevens waarmee het proces moet worden gestart. Deze argumenten bevatten de naam van het uitvoerbare bestand of document dat wordt gebruikt om het proces te starten.
- Kenmerken
Uitzonderingen
De waarde die de StartInfo waarde aangeeft, is null.
.NET Core en .NET 5+ alleen: de methode Start() is niet gebruikt om het proces te starten.
Voorbeelden
In het volgende voorbeeld wordt een StartInfo bestand ingevuld dat moet worden uitgevoerd, de actie die erop wordt uitgevoerd en of er een gebruikersinterface moet worden weergegeven. Raadpleeg de referentiepagina's voor eigenschappen van de ProcessStartInfo klasse voor aanvullende voorbeelden.
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
Opmerkingen
StartInfo vertegenwoordigt de set parameters die moeten worden gebruikt om een proces te starten. Wanneer Start wordt aangeroepen, wordt het StartInfo gebruikt om het proces op te geven dat moet worden gestart. Het enige benodigde StartInfo lid dat moet worden ingesteld, is de FileName eigenschap. Het starten van een proces door de eigenschap FileName op te geven, is vergelijkbaar met het typen van de gegevens in het dialoogvenster Run van het menu Windows Start. Daarom hoeft de FileName eigenschap geen uitvoerbaar bestand weer te geven. Het kan van elk bestandstype zijn waarvoor de extensie is gekoppeld aan een toepassing die op het systeem is geïnstalleerd. De FileName kan bijvoorbeeld een .txt extensie hebben als u tekstbestanden hebt gekoppeld aan een editor, zoals Kladblok, of het kan een .doc hebben als u .doc bestanden hebt gekoppeld aan een hulpmiddel voor tekstverwerking, zoals Microsoft Word. Op dezelfde manier als het dialoogvenster Uitvoeren een uitvoerbare bestandsnaam met of zonder de .exe-extensie kan accepteren, is de .exe-extensie optioneel in het FileName lid. U kunt de FileName eigenschap bijvoorbeeld instellen op 'Notepad.exe' of 'Kladblok'.
U kunt een ClickOnce-toepassing starten door de FileName eigenschap in te stellen op de locatie (bijvoorbeeld een webadres) van waaruit u de toepassing oorspronkelijk hebt geïnstalleerd. Start een ClickOnce-toepassing niet door de geïnstalleerde locatie op uw harde schijf op te geven.
Als de bestandsnaam een niet-uitvoerbaar bestand omvat, zoals een .doc bestand, kunt u een werkwoord opnemen waarin wordt aangegeven welke actie moet worden ondernomen voor het bestand. U kunt bijvoorbeeld de Verb op Afdrukken instellen voor een bestand dat eindigt op de extensie .doc. De bestandsnaam die in de FileName eigenschap is opgegeven, hoeft geen extensie te hebben als u handmatig een waarde voor de Verb eigenschap invoert. Als u echter de Verbs eigenschap gebruikt om te bepalen welke werkwoorden beschikbaar zijn, moet u de extensie opnemen.
U kunt de parameters die in de StartInfo eigenschap zijn opgegeven, wijzigen tot het tijdstip waarop u de Start methode voor het proces aanroept. Nadat u het proces hebt gestart, heeft het wijzigen van de StartInfo waarden geen invloed op of start u het bijbehorende proces niet opnieuw. Als u de Start(ProcessStartInfo) methode aanroept met de ProcessStartInfo.UserName set eigenschappen ProcessStartInfo.Password , wordt de onbeheerde CreateProcessWithLogonW functie aangeroepen, waarmee het proces in een nieuw venster wordt gestart, zelfs als de CreateNoWindow eigenschapswaarde is true of de WindowStyle eigenschapswaarde is Hidden.
U moet alleen toegang krijgen tot de StartInfo eigenschap op een Process object dat door de Start methode wordt geretourneerd. U moet bijvoorbeeld geen toegang krijgen tot de StartInfo eigenschap op een Process object dat wordt geretourneerd door GetProcesses. Anders wordt in .NET Core de eigenschap StartInfo een InvalidOperationException gegenereerd. In .NET Framework wordt een dummy ProcessStartInfo-object geretourneerd.
Wanneer het proces wordt gestart, is de bestandsnaam het bestand dat de eigenschap (alleen-lezen) MainModule vult. Als u het uitvoerbare bestand wilt ophalen dat is gekoppeld aan het proces nadat het proces is gestart, gebruikt u de MainModule eigenschap. Als u het uitvoerbare bestand wilt instellen van een Process exemplaar waarvoor een gekoppeld proces niet is gestart, gebruikt u het lid van FileName de StartInfo eigenschap. Omdat de leden van de StartInfo eigenschap argumenten zijn die worden doorgegeven aan de Start methode van een proces, wordt het wijzigen van de FileName eigenschap nadat het gekoppelde proces is gestart, de MainModule eigenschap niet opnieuw ingesteld. Deze eigenschappen worden alleen gebruikt om het bijbehorende proces te initialiseren.