随笔 - 113  文章 - 0  评论 - 218  阅读 - 73万

C#应用程序随机启动

如果想你写的程序随系统开机一起启动的话,那么你可以照下面这个方法来做。 
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);
  }
posted on   陈国利  阅读(1170)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
< 2011年4月 >
27 28 29 30 31 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
1 2 3 4 5 6 7

点击右上角即可分享
微信分享提示