ProcessStartInfo.UseShellExecute Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İş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.