9 Şubat 2018 Cuma

ProcessStartInfo Sınıfı

Constructor - default
Şöyle yaparız.
ProcessStartInfo startInfo = new ProcessStartInfo();
Constructor - FileName
File Name alır. Şöyle yaparız.
ProcessStartInfo startInfo = new ProcessStartInfo(@"C:\MyApplication.exe");
Arguments Alanı
Başlatılan uygulamaya geçilen parametreler.
Örnek
FileName notepad.exe ise Arguments olarak MyFile.txt verirsek .txt dosyasını açarız. Şöyle yaparız.
startInfo.Arguments = ...;
Örnek
Başlatılan uygulama cmd.exe ise Arguments olarak "/c ..." ile uygulama ismini geçeriz. Şöyle yaparız.
startInfo.FileName = "CMD.exe";
startInfo.Arguments = "/C netsh wlan set hostednetwork ssid=EV";
CreateNoWindow
Bu alan sadece konsol uygulamarı için geçerlidir. true ise başlatılan uygulama için pencere açılmaz. Başlatılan uygulamanın özellikle pencere açmamasını isteyen bir örnek şöyle.
startInfo.CreateNoWindow = true
EnvironmentVariables Alanı
Şöyle yaparız.
startInfo.EnvironmentVariables["PGPASSWORD"] = password;
FileName Alanı
Başlatılacak uygulama. Şöyle yaparız.
startInfo.FileName = "cmd.exe",
Bu durumda Arguments olarak diğer parametreler geçilir.
startInfo.Arguments = "/c " + action
RedirectStandartError alanı
Bu alanı true yaparsak şöyle yapabiliriz.
process.BeginOutputReadLine();
Şöyle de yapabiliriz.
string errors = pscp.StandardError.ReadToEnd();
RedirectStandartInput Alanı
Bu alanı true yaparsak şöyle yaparız.
process.StandardInput.WriteLine("password or whatever");
RedirectStandartOutput Alanı
Bu alanı  true yaparsak şöyle yapabiliriz.
process.BeginOutputReadLine();
Şöyle de yapabiliriz.
string output = process.StandardOutput.ReadToEnd();
Şöyle yapabiliriz.
StringBuilder stringBuilder = new StringBuilder();
while (!process.StandardOutput.EndOfStream)
{
  stringBuilder.AppendLine(process.StandardOutput.ReadLine());
}
Okuma işlemi bitince uygulama bitmiş anlamına gelir. Uygulama şöyle kapatılır.
process.Close();
UseShellExecute Alanı
true ise ve eğer bir dosya ismi verdiysek, hangi uygulama ile dosyanın açılacağını Windows'a bırakır. Örneğin pdf verdiysek dosyayı sistemdeki pdf okuyucusu ile açar. Başlatılmasını istediğimiz şey bir uygulama ise UseShellExecute bayrağını bir anlamı yoktur.Şöyle yaparız.
startInfo.UseShellExecute = true;
Verb Alanı
Bir dosyayı yazıcıya göndermek için şöyle yaparız.
string strPrintFile = "D:\\Application2.pdf";
ProcessStartInfo info = new ProcessStartInfo(strPrintFile);
startInfo.Verb = "Print";
startInfo.CreateNoWindow = true;
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
Process.Start(startInfo);
Verb olarak runas kullanılıyor ancak ne işe yaradığını anlamadım.
startInfo.Verb = "runas";
WindowStyle Alanı
Bu alan sadece GUI uygulamaları için geçerlidir. Eğer pencere var ise Hidden ile saklanabilir. Şöyle yaparız.
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
Şöyle yapabiliriz.
startInfo.WindowStyle = ProcessWindowStyle.Normal;
WorkingDirectory Alanı
Şöyle yaparız.
startInfo.WorkingDirectory =...


Hiç yorum yok:

Yorum Gönder