Serimizin ikinci ve son makalesi olan bu makalemizde, VB.NET'te "process" bileşenini kullanarak windows uygulamalarını kontrol edebilme konusunu irdeleyeceğiz. Bu işlemi, windows uygulamaları olan "Note Pad","Paint Brush" ve "Claculator" uygulamalarını başlatma ve sonlandırma işlemlerini kapsayan orneğimiz uzerinde inceleyeleceğiz




Otomasyon (Automation) Ozelliği ile Uygulama Nesnelerini Programlamak (2)

(VB.NET ve Windows Uygulamaları Senkronizasyonu)





Serimizin ikinci ve son makalesi olan bu makalemizde, VB.NET'te "process" bileşenini kullanarak windows uygulamalarını kontrol edebilme konusunu irdeleyeceğiz. Bu işlemi, windows uygulamaları olan "Note Pad","Paint Brush" ve "Claculator" uygulamalarını başlatma ve sonlandırma işlemlerini kapsayan orneğimiz uzerinde inceleyeleceğiz.

Orneğimiz icin oncelikle yeni bir windows form uzerine "MainMenu" bileşeni yerleştirelim ve bu bileşeni, altında ucer sekmesi bulunan iki ana menu haline donuşturelim. Birinci ana menumuzun başlığı "Uygulama Başlat" ikincisi "Uygulama Sonlandır" olsun ve daha sonra bu her iki menu altına da "Note Pad","Paint Brush" ve "Calculator" sekmelerini oluşturalım (Şekil-1). Ayrıca "Process" bileşenlerinin durumlarını kullanıcıya aktarmak icin iki adet label ekleyelim, ikincisine "DURUM" yazalım, birincisine de orneğimizin ilerleyen safhalarında "Process" lerin durumunu aktarmak icin kullanacağız.







Şekil-1



Bir sonraki adım, "ToolBox" 'ın "Component" sekmesini acarak (Şekil-2), formumuza uc adet "Process" bileşeni ekleyelim, daha sonra "Process1" bileşenin "Properties" penceresinde yer alan "StartInfo" kategori başlığının yanındaki "+" işaretine tıklayarak bu başlığa ait alt bolumleri gorelim ve "StartInfo" kategori başlığı altında yer alan "FileName" bolumune "notepad.exe" yazalım (Şekil-3) boylece "Process1" bileşeni ile hangi uygulama uzerinde işlem yapacağımızı belirlemiş oluyoruz. Şimdi aynı işlemi, "Process2" bileşeninin "FileName" bolumune "pbrush.exe" , "Process3" bileşeninin "FileName" bolumune "calc.exe" yazarak tekrarlayalım.




Şekil-2






Şekil-3





Şimdi, uygulamaları başlatma,sonlandırma ve Process bileşenlerinin durumlarını bildirme işlemlerini gercekleştirelim, oncelikle uygulamaları başlatma ve ilgili durumları bildirme işlemlerini gercekleştirelim;

Bu işleme "NotePad" uygulaması ile başlıyalım, "Uygulama Başlat" ana menusu altındaki, "Note Pad" sekmesinin "Click" olayına, aşağıdaki kodları yazalım;




Kod:
Process1.Start() ' Process1 'i yani NotePad Uygulamasını Başlatır.Label1.Text = Process1.StartInfo.FileName & " Uygulaması Başladı ..." ' Process1 'in durumunu "Label1" 'in n ' "Text" ozelliğine aktarır.




İşlemimize "Uygulama Başlat" ana menusunun ikinci sekmesi olan "Paint Brush" sekmesi ile devam edelim. "Note Pad" sekmesinde kullandığımız kodun cok benzeri olan aşağıdaki kodu "Paint Brush" sekmesinin "Cilck" olayına yazalım;



Kod:
Process2.Start() ' Process2 'yi yani Paint Brush Uygulamasını Başlatır.Label1.Text = Process2.StartInfo.FileName & " Uygulaması Başladı ..."



Aşağıdaki kodu "Uygulama Başlat" menusunun ucuncu sekmesi olan "Calculator" sekmesinin "Click" olayına yazarak aynı işlemi, "Uygulama Başlat" ana menusunun son sekmesi olan "Calculator" sekmesi icin tekrar edelim ve boylece "Uygulama Başlat" ana menusunun işlemini tamamlamış olalım;




Kod:
Process3.Start() ' Process3 'i yani Calculator Uygulamasını Başlatır.Label1.Text = Process3.StartInfo.FileName & " Uygulaması Başladı ..."




Şimdi, benzer işlemleri, windows uygulamalarının kapatılması ve "Process" bileşeninin durumunlarının bildirilmesi icin "Uygulama Sonlandır" ana menusu altında yer alan uc sekmeye uygulayalım. Bu ana menu altında ilk sekme olarak yer alan "Note Pad" sekmemizin "Click" olayına aşağıdaki kodu yazalım;




Kod:
Process1.CloseMainWindow() 'Process1 'i yani Note Pad Uygulamasını Sonlandırır.Label1.Text = Process1.StartInfo.FileName & " Uygulaması Sonlandırıldı..."




"Paint Brush" sekmesinin "Click" olayına;




Kod:
Process2.CloseMainWindow() 'Process2 'yi yani Paint Brush Uygulamasını Sonlandırır.Label1.Text = Process2.StartInfo.FileName & " Uygulaması Sonlandırıldı..."




"Calculator" sekmesinin "Click" olayına;



Kod:
Process3.CloseMainWindow() 'Process3 'u yani Calculator Uygulamasını Sonlandırır.Label1.Text = Process3.StartInfo.FileName & " Uygulaması Sonlandırıldı..."




Son olarak, formumuza, "Threading" ve "Diagnostics" sınıflarını dahil etmemiz gerekmekte bu işlem icinde kod editorumuzun en ust satırına aşağıdaki kodu yazmamız yeterli olacaktır;




Kod:
Imports System.ThreadingImports System.Diagnostics




Bu işlem adımlarını sırasıyla uyguladığımızda, windows uygulamaları olan "NotePad","Paint Brush" ve "Calculator" uygulamalarını başlatabilecek ve sonlandırabilecek bir VB.NET projesi hazırlamış oluruz ve projemizin ekran cıktısı da Şekil-4 de gorebileceğimiz bicimde olacaktır.






Şekil-4



Serimizin ikinci ve son makalesi olan bu makalemizle, "otomasyon" ozelliği ve "Process" bileşeni ile uygulamalara erişim ve senkronizasyon konusunu irdelemiş olduk. Konumuzu acıklamakta kullandığımız ornek projeyi almak icin aşağıdaki link'i kullanabilirsiniz.



"Process" bileşeni ile windows uygulamalarını başlatma ve sonlandırma..: MsAkademik (VB.NET)
__________________