如果想你寫的程式隨系統開機一起啟動的話,那麼你可以照下面這個方法來做。
RunWhenStart(false, Application.ProductName, Application.StartupPath + @\"\\MUS.exe\");
/// <summary> /// 開機啟動項 /// </summary> /// <param name=\"Started\">是否啟動</param> /// <param name=\"name\">啟動值的名稱</param> /// <param name=\"path\">啟動程式的路徑</param> public static void RunWhenStart(bool bStarted, string name, string path) { RegistryKey hklm = Registry.LocalMachine; RegistryKey run = hklm.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run\"); try { if (bStarted) { run.SetValue(name, path); } else { run.DeleteValue(name); } } catch (Exception err) { MessageBox.Show(err.Message.ToString(), "系統提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { hklm.Close(); run.Close(); } }
添加一個checkbox在啟動時顯示於使用者介面,並添加CheckedChanged事件,即可以通過checkbox設定是否隨時啟動。
/// <summary> /// 設定開機自動啟動 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void chrb_CheckedChanged(object sender, EventArgs e) { string startPath = Application.ExecutablePath; RunWhenStart(chrb.Checked, "SendMessage", startPath); }