Bazen işletim sistemimizi herhangi bir nedenle yeniden başlatmak veya kapatmak isteriz. (Örneğin bir program kurduğumuz zaman.) Bu işlemi Başlat > Bilgisayarı Kapat adımlarını izleyerek çok kolay bir şekilde yapabiliyoruz. Peki bu ihtiyaca bir program yazarken ihtiyaç duyarsak ne olacak? Veya geçenlerde benim içine düştüğüm bir duruma düşerseniz ne olacak :)

Geçen gece bilgisayarımda biraz uzun sürecek bir işlem yapıyordum. Büyük bir çoğunluğu bitmişti ki işin uyku bastırdı :). Şimdi bilgisayarı kapatsam yaptığım iş boşa gidecek ve yeniden yapıp zaman kaybedeceğim, bitmesini beklesem hiç olmayacak....  bende o kadar yapılan işi boşa atmak istemedim, ne yapabilirim diye düşündüm aklıma .NET in nimetlerinden olan System.Management namespace i altındaki WMI sınıfları geldi. Daha önce bu sınıfları araştırmamıştım ama bir iki dakikalık araştırmadan sonra implementasyonunun hiç de kolay olmadığını gördüm. Araştırmaya bir kaç dakika daha devam edince çok kullanışlı ve implementasyonu tek satır olacak şekilde yazılmış bi sınıf buldum. Bu sınıfı sizinle paylaşmak istedim. Daha önce ihtiyacı olanlar mutlaka ulaşmışlardır zaten bu sınıfa. Yeni  araştıranlar  için belki yardımcı olur diye paylaşmak istedim. Sınıfın kaynak kodlarına ve yardım dosyalarına aşağıdaki linkten ulaşabilirsiniz. Sınıfın kullanım şeklini ise yine aşağıda görebilirsiniz.

Sınıfın Kaynak Kodları : 
WindowsController.zip (33,94 kb)

Sınıfın Kullanım Şekli:
Yukarıda bulunan dosyadaki WindowsController.cs sınıfını projenize ekledikten sonra;

WindowsController
.ExitWindows(RestartOptions.Hibernate, true
);
WindowsController.ExitWindows(RestartOptions.LogOff, true
);
WindowsController.ExitWindows(RestartOptions.PowerOff, true
);
WindowsController.ExitWindows(RestartOptions.Reboot, true
);
WindowsController.ExitWindows(RestartOptions.ShutDown, true
);
WindowsController.ExitWindows(RestartOptions.Suspend, true);

seçeneklerinden birini kullanarak windowsa istediğiniz gibi fing attırabilirsiniz :). Yukarıdaki seçenekleri denemek bayaa bir zamanımı aldı, malum bilgisayarın kapanıp açılması felan zaman alıyor biraz :)

Buradan çıkaracağımız ders : Bir çok gelişme ve/veya araştırma zor durumda kalma, ÜŞENME veya ihtiyaçtan doğar :))))

Geniş bilgi için http://www.mentalis.org/soft/class.qpx?id=7 adresini ziyaret edebilirsiniz.

3 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5