ProcessStartInfo.UseShellExecute Egenskap

Definition

Hämtar eller anger ett värde som anger om operativsystemets gränssnitt ska användas för att starta processen.

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

Egenskapsvärde

true om gränssnittet ska användas när processen startas; false om processen ska skapas direkt från den körbara filen. Standardvärdet är false (eller true på .NET Framework-appar).

Undantag

Ett försök att ange värdet till true på Universal Windows Platform (UWP) appar inträffar.

Exempel

// 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

Kommentarer

Klassen ProcessStartInfo anger en uppsättning värden som används när du startar en process.

Om du ställer in egenskapen UseShellExecutefalse kan du omdirigera indata, utdata och felströmmar.

Ordet "shell" i den här kontexten (UseShellExecute) refererar till ett grafiskt gränssnitt (liknar Windows-gränssnittet) i stället för kommandogränssnitt (till exempel bash eller sh) och låter användare starta grafiska program eller öppna dokument.

Note

UseShellExecute måste vara false om egenskapen UserName inte null är eller en tom sträng, eller om en InvalidOperationException genereras när Process.Start(ProcessStartInfo) metoden anropas.

När du använder operativsystemets gränssnitt för att starta processer kan du starta alla dokument (vilket är en registrerad filtyp som är associerad med en körbar fil som har en standardåtgärd för öppen fil) och utföra åtgärder på filen, till exempel utskrift, med hjälp Process av objektet. När UseShellExecute är falsekan du bara starta körbara filer med hjälp Process av objektet.

Note

UseShellExecute måste vara true om du anger ErrorDialog egenskapen till true.

WorkingDirectory

Egenskapen WorkingDirectory fungerar annorlunda beroende på egenskapens UseShellExecute värde. När UseShellExecute är true, anger egenskapen WorkingDirectory platsen för den körbara filen. Om WorkingDirectory är en tom sträng antas det att den aktuella katalogen innehåller den körbara filen.

När UseShellExecute är false används egenskapen WorkingDirectory inte för att hitta den körbara filen. I stället används den endast av den process som startas och har endast betydelse inom ramen för den nya processen. När UseShellExecute är false, kan egenskapen FileName antingen vara en fullständigt kvalificerad sökväg till den körbara filen eller ett enkelt körbart namn som systemet försöker hitta i de mappar som anges av miljövariabeln PATH. Tolkningen av sökvägen beror på operativsystemet. Ange HELP PATH eller man sh i en kommandotolk för mer information.

Gäller för

Se även