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.
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
Şimdiden teşekkürler. İyi günler.
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
Not:Askerde olduğum için mesajlara hemen cevap yazamıyorum ve malesef sana örnek bir çalışma gönderemiyorum :). kusura bakma