1. 程式人生 > >winform程式開機自啟動設定方法總結

winform程式開機自啟動設定方法總結

1.原理:需要開機自啟動的程式,需要將其啟動程式的路徑寫到登錄檔中指定的資料夾下

2. 寫入登錄檔的方式有兩種

a.在生成安裝程式時配置

b.在程式執行時,動態配置。

方法一:在生成安裝程式時配置 右擊安裝編輯程式,在“檢視”選單中,選擇“登錄檔”。通過右鍵選單新建"鍵",創建出如圖所示的路徑。 右鍵Run,新建“字串值”。為右側的key命名(在登錄檔中不能重名),並在屬性中指定它的value值。 注:[TARGETDIR]表示在程式的安裝路徑。 方法二:在程式執行時指定是否開機啟動   在程式執行時,通過呼叫如下方法實現開機啟動
        /// <summary>
        /// 修改程式在登錄檔中的鍵值
        /// </summary>
        /// <param name="flag">1:開機啟動</param>
        private void StartUp(string flag)
        {
            string path=Application.StartupPath;
            string keyName = path.Substring(path.LastIndexOf("\\") + 1);
            Microsoft.Win32.RegistryKey Rkey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);

            if (flag.Equals("1"))
            {
                if (Rkey == null)
                {
                    Rkey = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
                }
                Rkey.SetValue(keyName, path + @"\PeisDoctorHZ.exe");
            }
            else
            {
                if (Rkey != null)
                {
                    Rkey.DeleteValue(keyName, false);
                }
            }
        }

注:該程式的啟動項設定到HKEY_Current_User 下。如果想改在HKEY_LOCAL_MACHINE,只需將CurrentUser改為LocalMachine,即
Rkey = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");