Yazdığınız bir programın windows açıldığında otomatik olarak çalışmasını istediğiniz durumlar olabilir. Bu durumda Uygulamaya bir CheckBox ekleyerek bu denetimi gerçekleştirebilirsiniz. İşin çalışma mantığı da şudur; Uygulamanızı regedit içerisinde başlangıç dizisine eklersiniz ve uygulama bilgisayar her başladığında otomatik olarak başlar. Bunun için basit bir uygulama yapacağız.
İlk olarka bir form oluşturuyoruz ve üzerine bir CheckBox ekliyoruz. Text kısmına da başlangıçta çalıştır yazıyoruz.
Kod ekranına geçip en üstte tanımlı kütüphaneler kısmına aşağıdaki kodu ekliyoruz.
1 |
using Microsoft.Win32; |
Böylece regedit için gerekli Registry kodlarını kullanabileceğiz.
Daha sonra form1’i çift tıklıyoruz ve Form1’in Load olayına aşağıdaki kodu yazıyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
private void Form1_Load(object sender, EventArgs e) { try { RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\\Microsoft\\Windows\\CurrentVersion\\Run", true); if (key.GetValue("Otomatik Kapat").ToString() == System.IO.Path.Combine(Application.StartupPath, Application.ProductName + ".exe")) { // Eğer regeditte varsa, checkbox'ı işaretle checkBox1.Checked = true; } } catch { } } |
Bu kod form çalışırken regedit içerisinde programımız açlışıa eklenmiş mi eklenmemiş mi ona bakıyor ve eğer başlangıçta program varsa checkBox’ı işaretliyor ve kullanıcı programa baktığında başlangıca eklenmiş mi eklenmemiş mi anlayabiliyor.
Daha sonra checkBox üzerine çift tıklayarak checkBox1_CheckedChanged olayını açıyoruz ve içerisine aşağıdaki kodu yazıyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
private void checkBox1_CheckedChanged(object sender, EventArgs e) { if (checkBox1.Checked) // program oto başlatma işaretlenirse { //işaretlendi ise Regedit e açılışta çalıştır olarak ekle RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true); key.SetValue("Otomatik Başlat", System.IO.Path.Combine(Application.StartupPath, Application.ProductName + ".exe")); } else //program oto çalıştırma iptal edilirse { //işaret kaldırıldı ise Regeditten açılışta çalıştırılacaklardan kaldır RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true); key.DeleteValue("Otomatik Başlat"); } } |
Bu kodları yazıp programı derlediğimizde (çlıştırdığımızda) aşağıdaki gibi bir uyarı çıkabilir.
İşaretli olan checkbox’ın işaretini kaldırın ve çalıştırma kısmında Continue(Devam Et) butonuna basıp programın çalışmaya devam etmesini sağlayın.
Uygulama başladığında checkBox’ı tıkladığınız zaman uygulama başlangıça eklenecektir. Bunu görmenin en kolay yolu ise; Görev yöneticisini açarak başlangıç sekmesine gelin. Orada uygulamanızın adını göreceksiniz. Denemek için bilgisayarı kapatıp yeniden açın. Windows açıldığında bilgisayar uygulamanızı otomatik olarak başlatacaktır.
15 views