Freigeben über


ProcessStartInfo.UseShellExecute-Eigenschaft

Ruft einen Wert ab, der angibt, ob zum Starten des Prozesses die Betriebssystemshell verwendet werden soll, oder legt diesen fest.

Namespace: System.Diagnostics
Assembly: System (in system.dll)

Syntax

'Declaration
Public Property UseShellExecute As Boolean
'Usage
Dim instance As ProcessStartInfo
Dim value As Boolean

value = instance.UseShellExecute

instance.UseShellExecute = value
public bool UseShellExecute { get; set; }
public:
property bool UseShellExecute {
    bool get ();
    void set (bool value);
}
/** @property */
public boolean get_UseShellExecute ()

/** @property */
public void set_UseShellExecute (boolean value)
public function get UseShellExecute () : boolean

public function set UseShellExecute (value : boolean)

Eigenschaftenwert

true, um beim Starten des Prozesses die Shell zu verwenden, andernfalls wird der Prozess direkt von der ausführbaren Datei aus erstellt. Der Standardwert ist true.

Hinweise

Wenn Sie diese Eigenschaft auf false festlegen, können Sie Eingabe-, Ausgabe- und Fehlerstreams umleiten.

Hinweis

   UseShellExecute muss false sein, wenn die UserName-Eigenschaft nicht NULL (Nothing in Visual Basic) oder eine leere Zeichenfolge ist. Andernfalls wird eine InvalidOperationException ausgelöst, wenn die Process.Start(ProcessStartInfo)-Methode aufgerufen wird.

Wenn Sie zum Starten von Prozessen die Shell des Betriebssystems verwenden, können Sie mit der Process-Komponente ein beliebiges Dokument (ein beliebiger registrierter Dateityp, der einer ausführbaren Datei zugeordnet ist, die über eine Standard-Open-Aktion verfügt) starten und für die Datei Vorgänge ausführen, z. B. Drucken. Wenn UseShellExecute den Wert false aufweist, können Sie mit der Process-Komponente lediglich ausführbare Dateien starten.

Hinweis

UseShellExecute muss true sein, wenn Sie die ErrorDialog-Eigenschaft auf true festlegen.

Die WorkingDirectory-Eigenschaften weist, wenn UseShellExecute den Wert true hat oder wenn UseShellExecute den Wert false hat, unterschiedliches Verhalten auf. Wenn UseShellExecute den Wert true hat, gibt die WorkingDirectory-Eigenschaft den Speicherort der ausführbaren Datei an. Wenn WorkingDirectory eine leere Zeichenfolge ist, wird angenommen, dass sich die ausführbare Datei im aktuellen Verzeichnis befindet.

Wenn UseShellExecute den Wert false hat, wird die WorkingDirectory-Eigenschaft nicht zum Suchen der ausführbaren Datei verwendet. Stattdessen wird sie vom gestarteten Prozess verwendet und ist nur im Kontext des neuen Prozesses von Bedeutung.

Beispiel

compiler.StartInfo.FileName = "csc.exe"
compiler.StartInfo.Arguments = "/r:System.dll /out:sample.exe stdstr.cs"
compiler.StartInfo.UseShellExecute = False
compiler.StartInfo.RedirectStandardOutput = True
compiler.Start()

Console.WriteLine(compiler.StandardOutput.ReadToEnd())

compiler.WaitForExit()
Process compiler = new Process();
compiler.StartInfo.FileName = "csc.exe";
compiler.StartInfo.Arguments = "/r:System.dll /out:sample.exe stdstr.cs";
compiler.StartInfo.UseShellExecute = false;
compiler.StartInfo.RedirectStandardOutput = true;
compiler.Start();    

Console.WriteLine(compiler.StandardOutput.ReadToEnd());

compiler.WaitForExit();
Process^ compiler = gcnew Process;
compiler->StartInfo->FileName = "cl.exe";
compiler->StartInfo->Arguments = "/clr stdstr.cpp /link /out:sample.exe";
compiler->StartInfo->UseShellExecute = false;
compiler->StartInfo->RedirectStandardOutput = true;
compiler->Start();

Console::WriteLine( compiler->StandardOutput->ReadToEnd() );

compiler->WaitForExit();

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-Klasse
ProcessStartInfo-Member
System.Diagnostics-Namespace
ProcessStartInfo.RedirectStandardInput-Eigenschaft
ProcessStartInfo.RedirectStandardOutput-Eigenschaft
ProcessStartInfo.RedirectStandardError-Eigenschaft