C# Process Uygulaması

Evet uzun bir süreden sonra tekrar buradayım. Bugün Process’lerden bahsediyoruz. Windows üzerinde çalışan uygulamara proses diye bahsediyoruz. Prosesleri şu şekilde takip edebilirsiniz. Task Maneger(Görev Yöneticisi) – View- Select Columns’a girip PID(Process Identifier)’i aktif etmeniz gerekiyor. Bunu aktifleştirdiğinizde Process sekmesinde yeni bir alanın daha aktif olduğunu göreceksiniz. İşte o aktif olan PID numaraları Windows tarafından her uygulamaya eşsiz verilen numaralardır. Herhangi bir uygulama çalıştırıp ya da sonlandırdığınızda programları buradan takip edebilirsiniz.Proseslerin ne olduğu ile ilgili daha tedaylı bilgi için İngizlice-Process ya da Türke-Process e bakabilirsiniz.
Proseslerin ne olduğundan çok kısa olarak bahsettiğimize göre şimdi C# ile olan alakasına geçebiliriz.
Proseslere erişim için System.Diagnostics.Process Sınıfı kullanacağız isterseniz önce bu sınıfı bazı metotları ile birlikte tanıyalım.
Id: Uygulamaya(Process) işletim sistemi tarafından verilen eşsiz numarayı belirten özelliktir.
ProcessName: Uygulama adını belirten özelliktir.
ExitCode: Uygulamanın çıkış kodunu belirten özelliktir. Bu özellik uygulamanın başarılı çalışıp çalışmadığını döndüren metotdur. Eğer 0(sıfır)’dan farklı bir değer dönerse uygulamanın hata ile karşılaşıp kapandığını belirtir.
ExitTime: Uygulamanın çıkış zamanını belirten özelliktir.
Handle: Uygulamaya işletim sistemi tarafından atanan tanıtıcı değeri belirten özelliktir.
MainWindowTitle: Uygulamanın ana pencere başlığını belirten özelliktir.
Threads: Uygulama tarafında oluşturulan iş parçacık listesini döndüren özelliktir.
Start: Yeni bir uygulama başlatmak için kullanılan metotdur.
Kill: Uygulamayı Durdurmak için kullanılan metotdur.
GetCurrentProcess: Aktif uygulamanın özelliklerine göre yeni process nesnesi döndüren metotdur.
GetProcessesById:İşletim sisteminde çalışan uygulamaya numarası ile erişebilmek için kullanılan metotdur.
GetProcesses: İşletim sisteminde çalışan uygulamaların listesini döndüren metotdur.
CloseMainWindow: Uygulamanın ana penceresini kapatmak için kullanılan metotdur.

Metotları daha iyi anlayabilmek için aşağıda ekran görüntüsünü verdiğim örneği inceleyebilirsiniz…


Umarım Process in c# örneği faydalı olur.

Yorumlar

Adsız dedi ki…
Birkan Bey Teşekkür ederim paylaşım için sınav arifesi çok makbule geçti bu konudan faydalanmam.
Adsız dedi ki…
Merhaba Hocam. Yazınız için çok teşekkür ederim. Benim merak ettiğim şey ise Process ler sayesinde o programdaki değişkenlere (sanırım bunlara offset veya pointer deniliyor) hükmedebilir miyiz?

Şimdiden teşekkürler. İyi günler.
Birkan Aydın dedi ki…
Tam olarak değişken değilde, üzerindeki butonlara vs. hükmediliyor olabilmesi lazım. fakat bununla ilgili hiçbir çalışma yapmadım.
Adsız dedi ki…
Merhabalar;
Yazınız güzel benim şöyle bir sorunum var sanırım bunu process çzemeyecek :( Ben ekran kayıt programlarını engellemek isiyoru mesela camtasia. Programım çalışırken alışan uygulamalrı içinde varmı taratıp varsa process kill ile kapatıyorm veya kendi programımı kapatıyorum. Buraya kadar herşey normal ama kullanıcı programın adını değiştirdiğinde hiçbir işe yaramıyor. Ben kullanıcı progamın adını değiştirse dahi programı engellemek veya kendi programımı kapatmak istiyorum. bu process in program aı yerine Class adını öğrenemiyoruz sanırım bunun nasıl yapılabileceği hakkında bir fikriniz varsa gerçekten çok yararlı olacaktır. iyi çalışmalar
Birkan Aydın dedi ki…
belki şöyle bir çözüm yapabilirsin, dosyanın kayıtlı olduğu dizin bellidir. örnek veriyorum c:\camtasia\ekrankayit.exe'dir. ekran kayıt dosyasının boyutu sallıyorum 1,23mb dosya boyutuna göre tarattırıp bulabilirsin ya da process'te çalışan programların yollarını aldırıp-böyle bir seçenek varmı bilmiyorum- boyutlarına baktırabilirsin ve 1,23mb olanı bulursun yanındaki dosylara baktırırsın ekrankayit.exe'ye mi ait -mutlaka dll vs. dosyası olacaktır. onların isimlerini değiştiremez- ona göre sildirirsin. Birazcık yaratıcılığını kullandığın anda sorun çözülecektir. Başarılar dilerim.


Not:Askerde olduğum için mesajlara hemen cevap yazamıyorum ve malesef sana örnek bir çalışma gönderemiyorum :). kusura bakma

Popüler Yayınlar