ProcessStartInfo.UseShellExecute Özellik

Tanım

İşlemi başlatmak için işletim sistemi kabuğunun kullanılıp kullanılmayacağını belirten bir değer alır veya ayarlar.

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

Özellik Değeri

true işlemi başlatırken kabuğun kullanılması gerekiyorsa; false işlemin doğrudan yürütülebilir dosyadan oluşturulması gerekiyorsa. Varsayılan değer false 'dir (veya .NET Framework uygulamalarında true).

Özel durumlar

Evrensel Windows Platformu (UWP) uygulamalarında değeri true olarak ayarlama girişimi gerçekleşir.

Örnekler

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

Açıklamalar

sınıfı, ProcessStartInfo bir işlemi başlattığınızda kullanılan bir değer kümesini belirtir.

özelliğini olarak UseShellExecutefalse ayarlamak giriş, çıkış ve hata akışlarını yeniden yönlendirmenizi sağlar.

Bu bağlamdaki (UseShellExecute) "kabuk" sözcüğü, komut kabukları (örneğin, bash veya sh) yerine bir grafik kabuğu (Windows kabuğuna benzer) ifade eder ve kullanıcıların grafik uygulamaları başlatmasına veya belgeleri açmasına olanak tanır.

Note

UseShellExecute false, UserName özelliği null veya boş bir dize değilse olmalıdır, aksi takdirde InvalidOperationException yöntemi çağrıldığında bir Process.Start(ProcessStartInfo) oluşturulacaktır.

İşlemleri başlatmak için işletim sistemi kabuğunu kullandığınızda, herhangi bir belgeyi başlatabilir (varsayılan açık eylemi olan yürütülebilir dosya türüyle ilişkilendirilmiş herhangi bir kayıtlı dosya türüdür) ve nesneyi kullanarak Process dosya üzerinde yazdırma gibi işlemler gerçekleştirebilirsiniz. UseShellExecute false olduğunda, Process nesnesini kullanarak yalnızca yürütülebilir dosyaları başlatabilirsiniz.

Note

UseShellExecute true olmalıdır, ErrorDialog özelliğini true olarak ayarlarsanız.

Çalışma Dizini

WorkingDirectory özelliğinin davranışı, UseShellExecute özelliğinin değerine bağlı olarak değişir. UseShellExecute true olduğunda, WorkingDirectory özelliği yürütülebilir dosyanın konumunu belirtir. Boş bir dizeyse WorkingDirectory , geçerli dizinin yürütülebilir dosyayı içerdiği varsayılır.

UseShellExecute false iken, yürütülebilir dosyayı bulmak için WorkingDirectory özelliği kullanılmaz. Bunun yerine, yalnızca başlatılan ve yalnızca yeni işlem bağlamında anlamı olan işlem tarafından kullanılır. UseShellExecute false olduğunda, FileName özelliği, yürütülebilir dosyanın tam yolu veya sistemin PATH ortam değişkeni ile belirtilen klasörlerde bulmaya çalışacağı basit bir yürütülebilir dosya adı olabilir. Arama yolunun yorumlanması işletim sistemine bağlıdır. Daha fazla bilgi için bir komut isteminde HELP PATH veya man sh girin.

Şunlara uygulanır

Ayrıca bkz.