اجرای برنامه در استارت آپ ویندوز با سی شارپ #C

کد با پلتفرم بوی - کد سی شارپ
کد با پلتفرم بوی – کد سی شارپ

فرض کنید یک برنامه کوچک داریم و می خواهیم با گزینه CheckBox در صورتی که کاربر آنرا علامت زد بخواهد برنامه با ویندوز شروع شود. حال چگونه می توانیم برنامه را در هنگام راه اندازی در استارت آپ تنظیم کنیم تا اجرا شود؟

قطعه کد زیر از هر لحاظی کاملتر است.میتوانید آنرا برای یک چک باکس تعریف کنید به طوری که در صورت فعال کردن یا غیرفعال کردن علامت چک باکس برنامه در استارت آپ قرار بگیرد.

پلتفرم بوی اجرا شدن خروجی صحیح قطعه کد زیر را تایید می کند

قطعه کدی که در زیر مشاهده می کنید توسط برنامه کامپایلر به جهت تست آزمایش شده و خروجی صحیح مدنظر را بدست آورد.

if (startup.Checked == true)
{
   Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
   key.SetValue("sound_clicker", rootPath + @"sound_clicker.exe");
}
 else
{
   Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
   key.DeleteValue("sound_clicker", false);
}

روش دوم

برای اینکار یک کلید رجیستری به پوشه “Run” کاربر فعلی اضافه میکنیم.

using Microsoft.Win32;
    private void SetStartup()
    {
        RegistryKey rk = Registry.CurrentUser.OpenSubKey
            ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);

        if (chkStartUp.Checked)
            rk.SetValue(AppName, Application.ExecutablePath);
        else
            rk.DeleteValue(AppName,false);            

    }

روش سوم

public static void AddStartup(string appName, string path)
{
    using (RegistryKey key = Registry.CurrentUser.OpenSubKey
        ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true))
    {
        key.SetValue(appName, "\"" + path + "\"");
    }
}

/// <summary>
/// Remove application from Startup of windows
/// </summary>
/// <param name="appName"></param>
public static void RemoveStartup(string appName)
{
    using (RegistryKey key = Registry.CurrentUser.OpenSubKey
        ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true))
    {
        key.DeleteValue(appName, false);
    }
}

روش چهارم

using (RegistryKey key = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true))
{
    key.SetValue(
        "AutoStart.exe", 
        "\"" + System.Reflection.Assembly.GetExecutingAssembly().Location + "\""
    );
}

 

کدهای بیشتر - سی شارپ

آیا این مطلب برای شما مفید بود؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *