Jazyk

ProcessStartInfo.UseShellExecute Vlastnost

Definice

Získá nebo nastaví hodnotu určující, zda použít prostředí operačního systému ke spuštění procesu.

public:
 property bool UseShellExecute { bool get(); void set(bool value); };
public bool UseShellExecute { get; set; }
member this.UseShellExecute : bool with get, set
Public Property UseShellExecute As Boolean

Hodnota vlastnosti

true pokud má být prostředí použito při spuštění procesu; false pokud by se proces měl vytvořit přímo ze spustitelného souboru. Výchozí hodnota je false (nebo true v aplikacích .NET Framework).

Výjimky

Při pokusu o nastavení hodnoty true v aplikacích Univerzální platforma Windows (UPW) dojde.

Příklady

// Run "csc.exe /r:System.dll /out:sample.exe stdstr.cs". UseShellExecute is false because we're specifying
// an executable directly and in this case depending on it being in a PATH folder. By setting
// RedirectStandardOutput to true, the output of csc.exe is directed to the Process.StandardOutput stream
// which is then displayed in this console window directly.
using (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();
}
' Run "vbc.exe /reference:Microsoft.VisualBasic.dll /out:sample.exe stdstr.vb". UseShellExecute is False 
' because we're specifying an executable directly and in this case depending on it being in a PATH folder. 
' By setting RedirectStandardOutput to True, the output of csc.exe is directed to the Process.StandardOutput 
' stream which is then displayed in this console window directly.    
Using compiler As New Process()
    compiler.StartInfo.FileName = "vbc.exe"
    compiler.StartInfo.Arguments = "/reference:Microsoft.VisualBasic.dll /out:sample.exe stdstr.vb"
    compiler.StartInfo.UseShellExecute = False
    compiler.StartInfo.RedirectStandardOutput = True
    compiler.Start()

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

    compiler.WaitForExit()
End Using

Poznámky

Třída ProcessStartInfo určuje sadu hodnot, které se použijí při spuštění procesu.

UseShellExecute Nastavením vlastnosti false můžete přesměrovat vstupní, výstupní a chybové proudy.

Slovo "shell" v tomto kontextuUseShellExecute () odkazuje na grafické prostředí (podobné prostředí windows) místo příkazového prostředí (například bash nebo sh) a umožňuje uživatelům spouštět grafické aplikace nebo otevírat dokumenty.

Note

UseShellExecute musí být false, pokud vlastnost UserName není null nebo prázdný řetězec, jinak bude vyvolána InvalidOperationException při volání metody Process.Start(ProcessStartInfo).

Při spuštění procesů pomocí prostředí operačního systému můžete spustit libovolný dokument (což je jakýkoli registrovaný typ souboru přidružený ke spustitelnému souboru, který má výchozí otevřenou akci) a provádět operace se souborem, jako je tisk, pomocí objektu Process . Pokud UseShellExecute je false, můžete spustit pouze spustitelné soubory pomocí objektu Process .

Note

UseShellExecute musí být true, pokud nastavíte vlastnost ErrorDialog na hodnotu true.

WorkingDirectory

Vlastnost WorkingDirectory se chová odlišně v závislosti na hodnotě UseShellExecute vlastnosti. Pokud UseShellExecute je true, WorkingDirectory vlastnost určuje umístění spustitelného souboru. Pokud WorkingDirectory je prázdný řetězec, předpokládá se, že aktuální adresář obsahuje spustitelný soubor.

Pokud UseShellExecute je false, WorkingDirectory vlastnost není použita k vyhledání spustitelného souboru. Místo toho se používá pouze procesem, který je spuštěn a má význam pouze v kontextu nového procesu. Když je UseShellExecutefalse, ta FileName vlastnost může být buďto plně kvalifikovaná cesta ke spustitelnému souboru, nebo jednoduchý spustitelný název, který se systém pokusí najít v rámci složek, které určuje proměnná prostředí PATH. Interpretace cesty hledání závisí na operačním systému. Pro více informací zadejte HELP PATH nebo man sh na příkazovém řádku.

Platí pro

Viz také