ProcessStartInfo-Klasse
Gibt eine Wertemenge an, die beim Starten eines Prozesses verwendet wird.
Namespace: System.Diagnostics
Assembly: System (in system.dll)
Syntax
'Declaration
Public NotInheritable Class ProcessStartInfo
'Usage
Dim instance As ProcessStartInfo
public sealed class ProcessStartInfo
public ref class ProcessStartInfo sealed
public final class ProcessStartInfo
public final class ProcessStartInfo
Hinweise
Hinweis
Das auf diese Klasse angewendete HostProtectionAttribute-Attribut besitzt den Resources-Eigenschaftenwert SharedState | SelfAffectingProcessMgmt. Das HostProtectionAttribute hat keine Auswirkungen auf Desktopanwendungen (die normalerweise durch Doppelklicken auf ein Symbol, Eingeben eines Befehls oder eines URL in einem Browser gestartet werden). Weitere Informationen finden Sie unter der HostProtectionAttribute-Klasse oder unter SQL Server-Programmierung und Hostschutzattribute.
ProcessStartInfo wird zusammen mit der Process-Komponente verwendet. Wenn Sie einen Prozess mithilfe der Process-Klasse starten, können Sie auf zusätzliche Prozessinformationen zugreifen, die beim Anhängen an einen laufenden Prozess nicht verfügbar sind.
Sie können die ProcessStartInfo-Klasse verwenden, um eine bessere Kontrolle über den von Ihnen gestarteten Prozess zu erhalten. Sie müssen mindestens die FileName-Eigenschaft festlegen. Dies können Sie manuell oder mithilfe des Konstruktors ausführen. Bei dem Dateinamen handelt es sich um eine beliebige Anwendung bzw. ein beliebiges Dokument. Ein Dokument ist hier als ein beliebiger Dateityp definiert, dem eine Open- oder Standardaktion zugeordnet ist. Sie können die für den Computer registrierten Dateitypen und die zugeordneten Anwendungen im Dialogfeld Ordneroptionen des Betriebssystems anzeigen. Die Schaltfläche Erweitert führt zu einem Dialogfeld, in dem angezeigt wird, ob einem bestimmten registrierten Dateityp eine Open-Aktion zugeordnet ist.
Außerdem können Sie andere Eigenschaften festlegen, die mit dieser Datei auszuführende Aktionen definieren. Sie können für die Verb-Eigenschaft einen für den Typ der FileName-Eigenschaft spezifischen Wert angeben. Sie können z. B. für einen Dokumenttyp "print" angeben. Sie können außerdem angeben, dass Arguments-Eigenschaftenwerte als Befehlszeilenargumente an die Open-Prozedur der Datei übergeben werden. Wenn Sie z. B. in der FileName-Eigenschaft eine Text-Editor-Anwendung angeben, können Sie mithilfe der Arguments-Eigenschaft eine Textdatei angeben, die durch den Editor geöffnet werden soll.
Als Standardeingabe wird i. d. R. die Tastatur verwendet, und die Standardausgabe sowie die Ausgabe von Fehlern erfolgt i. d. R. auf dem Monitorbildschirm. Sie können jedoch die RedirectStandardInput-Eigenschaft, die RedirectStandardOutput-Eigenschaft und die RedirectStandardError-Eigenschaft verwenden, damit der Prozess Eingaben aus einer Datei oder einem anderen Gerät abruft oder Ausgaben an diese zurückgibt. Wenn Sie die StandardInput-Eigenschaft, die StandardOutput-Eigenschaft oder die StandardError-Eigenschaft für die Process-Komponente verwenden, müssen Sie zuerst den entsprechenden Wert für die ProcessStartInfo-Eigenschaft festlegen. Andernfalls löst das System beim Lesen oder Schreiben in den Stream eine Ausnahme aus.
Legen Sie UseShellExecute fest, um anzugeben, ob der Prozess mithilfe der Shell des Betriebssystems gestartet werden soll.
Sie können den Wert jeder ProcessStartInfo-Eigenschaft bis zum Startzeitpunkt des Prozesses ändern. Nach dem Starten des Prozesses hat das Ändern dieser Werte keine Auswirkungen.
Hinweis
Diese Klasse enthält einen Verknüpfungsaufruf auf der Klassenebene, der für alle Member gilt. Eine SecurityException wird ausgelöst, wenn der unmittelbare Aufrufer über keine Berechtigung mit vollständiger Vertrauenswürdigkeit verfügt. Ausführliche Informationen über Sicherheitsanforderungen finden Sie unter Verknüpfungsaufrufe.
Beispiel
Imports System
Imports System.Diagnostics
Imports System.ComponentModel
Namespace MyProcessSample
_
'/ <summary>
'/ Shell for the sample.
'/ </summary>
Class MyProcess
'/ <summary>
'/ Opens the Internet Explorer application.
'/ </summary>
Public Sub OpenApplication(myFavoritesPath As String)
' Start Internet Explorer. Defaults to the home page.
Process.Start("IExplore.exe")
' Display the contents of the favorites folder in the browser.
Process.Start(myFavoritesPath)
End Sub 'OpenApplication
'/ <summary>
'/ Opens urls and .html documents using Internet Explorer.
'/ </summary>
Sub OpenWithArguments()
' url's are not considered documents. They can only be opened
' by passing them as arguments.
Process.Start("IExplore.exe", "www.northwindtraders.com")
' Start a Web page using a browser associated with .html and .asp files.
Process.Start("IExplore.exe", "C:\myPath\myFile.htm")
Process.Start("IExplore.exe", "C:\myPath\myFile.asp")
End Sub 'OpenWithArguments
'/ <summary>
'/ Uses the ProcessStartInfo class to start new processes, both in a minimized
'/ mode.
'/ </summary>
Sub OpenWithStartInfo()
Dim startInfo As New ProcessStartInfo("IExplore.exe")
startInfo.WindowStyle = ProcessWindowStyle.Minimized
Process.Start(startInfo)
startInfo.Arguments = "www.northwindtraders.com"
Process.Start(startInfo)
End Sub 'OpenWithStartInfo
Shared Sub Main()
' Get the path that stores favorite links.
Dim myFavoritesPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Favorites)
Dim myProcess As New MyProcess()
myProcess.OpenApplication(myFavoritesPath)
myProcess.OpenWithArguments()
myProcess.OpenWithStartInfo()
End Sub 'Main
End Class 'MyProcess
End Namespace 'MyProcessSample
using System;
using System.Diagnostics;
using System.ComponentModel;
namespace MyProcessSample
{
/// <summary>
/// Shell for the sample.
/// </summary>
class MyProcess
{
/// <summary>
/// Opens the Internet Explorer application.
/// </summary>
void OpenApplication(string myFavoritesPath)
{
// Start Internet Explorer. Defaults to the home page.
Process.Start("IExplore.exe");
// Display the contents of the favorites folder in the browser.
Process.Start(myFavoritesPath);
}
/// <summary>
/// Opens urls and .html documents using Internet Explorer.
/// </summary>
void OpenWithArguments()
{
// url's are not considered documents. They can only be opened
// by passing them as arguments.
Process.Start("IExplore.exe", "www.northwindtraders.com");
// Start a Web page using a browser associated with .html and .asp files.
Process.Start("IExplore.exe", "C:\\myPath\\myFile.htm");
Process.Start("IExplore.exe", "C:\\myPath\\myFile.asp");
}
/// <summary>
/// Uses the ProcessStartInfo class to start new processes, both in a minimized
/// mode.
/// </summary>
void OpenWithStartInfo()
{
ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
startInfo.WindowStyle = ProcessWindowStyle.Minimized;
Process.Start(startInfo);
startInfo.Arguments = "www.northwindtraders.com";
Process.Start(startInfo);
}
static void Main()
{
// Get the path that stores favorite links.
string myFavoritesPath =
Environment.GetFolderPath(Environment.SpecialFolder.Favorites);
MyProcess myProcess = new MyProcess();
myProcess.OpenApplication(myFavoritesPath);
myProcess.OpenWithArguments();
myProcess.OpenWithStartInfo();
}
}
}
#using <System.dll>
using namespace System;
using namespace System::Diagnostics;
using namespace System::ComponentModel;
/// <summary>
/// Opens the Internet Explorer application.
/// </summary>
void OpenApplication( String^ myFavoritesPath )
{
// Start Internet Explorer. Defaults to the home page.
Process::Start( "IExplore.exe" );
// Display the contents of the favorites folder in the browser.
Process::Start( myFavoritesPath );
}
/// <summary>
/// Opens urls and .html documents using Internet Explorer.
/// </summary>
void OpenWithArguments()
{
// url's are not considered documents. They can only be opened
// by passing them as arguments.
Process::Start( "IExplore.exe", "www.northwindtraders.com" );
// Start a Web page using a browser associated with .html and .asp files.
Process::Start( "IExplore.exe", "C:\\myPath\\myFile.htm" );
Process::Start( "IExplore.exe", "C:\\myPath\\myFile.asp" );
}
/// <summary>
/// Uses the ProcessStartInfo class to start new processes, both in a minimized
/// mode.
/// </summary>
void OpenWithStartInfo()
{
ProcessStartInfo^ startInfo = gcnew ProcessStartInfo( "IExplore.exe" );
startInfo->WindowStyle = ProcessWindowStyle::Minimized;
Process::Start( startInfo );
startInfo->Arguments = "www.northwindtraders.com";
Process::Start( startInfo );
}
int main()
{
// Get the path that stores favorite links.
String^ myFavoritesPath = Environment::GetFolderPath( Environment::SpecialFolder::Favorites );
OpenApplication( myFavoritesPath );
OpenWithArguments();
OpenWithStartInfo();
}
.NET Framework-Sicherheit
- SecurityPermission zum Aufrufen von ProcessStartInfo-Membern. Anforderungswert: LinkDemand, Benannte Berechtigungssätze: FullTrust.
Vererbungshierarchie
System.Object
System.Diagnostics.ProcessStartInfo
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0
Siehe auch
Referenz
ProcessStartInfo-Member
System.Diagnostics-Namespace
Process-Klasse