Nis
21

c# Windows açıldığında uygulamanın otomatik başlatılması – startup

Zamanında çözümü için yaklaşık 4 saatimi alan windows her başladığında uygulamanın otomatik olarak başlatılması işlemi için aşağıdaki ufak fonksiyonu kullanabilirsiniz.

public static void OtomatikBaslat(string AppName, bool enable)
{
string runKey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";

Microsoft.Win32.RegistryKey startupKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(runKey);

if (enable) // startup'a uygulama eklenir.
{
if (startupKey.GetValue(AppName) == null)
{
startupKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(runKey, true);
// Add startup reg key
startupKey.SetValue(AppName, Application.ExecutablePath.ToString(), RegistryValueKind.String);
startupKey.Close();
}
}
else // startup'dan kaldırılır
{
startupKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(runKey, true);
startupKey.DeleteValue(AppName, false);
startupKey.Close();
}
}

Aslında yukarıdaki kodun benzerlerini google’ dan aratıldığı zaman bulabilirsiniz. Çok detayına inmedim fakat .net 4.5 dolayımıdır bilemedim fakat diğer örneklerde bir parametrenin kullanılmaması yüzünden uygulama bir türlü otomatik başlatılamadı. Unutulan parametre “RegistryValueKind.String”.  Registry değerinin string bir değer olduğunu belirttiğimizde uygulama başarılı şekilde otomatik olarak başladı.

OtomatikBaslat metodumuza uygulamanın adını (Setup projesinde belirttiğimiz adı ), startup’a eklenip  veya silineceği ile ilgili boolean değeri gönderdiğimizde metodumuz gerisini halledecektir.

Görüldüğü gibi ufak bir detay sizin de bolca zamanınızı yiyebilir.

Yorum Yapın

 

Twitter'dan Takip Et! Twitter'dan Takip Et!

Etiketler

Son Yazılar

Son Yorumlar

Haftanın Özlü Sözü

Akıllı bir adam yalnız kendi tecrübelerinden, çok akıllı bir adam başkalarının da tecrübelerinden yararlanır. (Çin Atasözü)

Bağlantılar

Arşivler