ProcessStartInfo.UseShellExecute Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.