ProcessStartInfo.UseShellExecute Tulajdonság

Definíció

Lekéri vagy beállít egy értéket, amely jelzi, hogy az operációs rendszerhéjat kell-e használni a folyamat elindításához.

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

Tulajdonság értéke

true ha a rendszerhéjat a folyamat indításakor kell használni; false ha a folyamatot közvetlenül a végrehajtható fájlból kell létrehozni. Az alapértelmezett érték false (vagy true .NET Framework-alkalmazások esetén).

Kivételek

Az Univerzális Windows-platform (UWP)-alkalmazásokban true értékre történő megkísérlése történik.

Példák

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

Megjegyzések

Az ProcessStartInfo osztály egy folyamat indításakor használt értékek készletét adja meg.

Az UseShellExecute tulajdonság false értékre való beállításával átirányíthatja a bemeneti, kimeneti és hiba streameket.

A "shell" szó ebben a kontextusban (UseShellExecute) egy grafikus rendszerhéjra (a Windows rendszerhéjhoz hasonlóan) hivatkozik a parancshéjak helyett (például) és lehetővé teszi a bashshfelhasználók számára grafikus alkalmazások indítását vagy dokumentumok megnyitását.

Note

UseShellExecuteakkor kell lenniefalse, ha a UserName tulajdonság nem null vagy egy üres sztring, vagy a metódus meghívásakor InvalidOperationException a rendszer eldob egy Process.Start(ProcessStartInfo) parancsot.

Amikor az operációs rendszerhéjat használja a folyamatok elindításához, bármilyen dokumentumot elindíthat (amely bármely regisztrált fájltípus, amely egy alapértelmezett megnyitási művelettel rendelkező végrehajtható fájlhoz van társítva), és az objektum használatával műveleteket hajthat végre a fájlon, például nyomtatással Process . Ha UseShellExecute igen false, akkor csak a végrehajtható elemeket indíthatja el az Process objektum használatával.

Note

UseShellExecute csak akkor lehet true, ha a ErrorDialog tulajdonságot true-re állítja.

WorkingDirectory

A WorkingDirectory tulajdonság eltérően viselkedik a UseShellExecute tulajdonság értékétől függően. Ha UseShellExecute igen true, a WorkingDirectory tulajdonság a végrehajtható fájl helyét adja meg. Ha WorkingDirectory üres sztring, a rendszer feltételezi, hogy az aktuális könyvtár tartalmazza a végrehajtható fájlt.

Ha UseShellExecute igen false, a WorkingDirectory tulajdonság nem a végrehajtható fájl megkeresésére szolgál. Ehelyett csak az elindított folyamat használja, és csak az új folyamat kontextusában van értelme. Ha a UseShellExecutefalse állapotban van, akkor a FileName tulajdonság lehet a végrehajtható fájl teljes elérési útja vagy egy egyszerű végrehajtható fájl neve, amelyet a rendszer a PATH környezeti változó által meghatározott mappákban próbál megkeresni. A keresési útvonal értelmezése az operációs rendszertől függ. További információkért írja be a HELP PATH vagy man sh parancssorba.

A következőre érvényes:

Lásd még