现在的位置: 首页 > 综合 > 正文

C# 开机启动

2019年11月18日 ⁄ 综合 ⁄ 共 1461字 ⁄ 字号 评论关闭

 

C# winform程序设置开机启动,当读取配置文件,或者加载图片如果设置的是相对路径时,开机启动时会出现问题(直接运程程序是没问题的)。这是因为开机启动的程序要使用绝对路径,相对路径不行。我们可以通过Application .StartupPath属性经过处理得到文件的绝对路径问题就解决了。

 

C# 通过读写注册表来设置开机启动想方法很简单,网上很多:

 

 

  1.         /// <summary>  
  2.         /// 开机启动项  
  3.         /// </summary>  
  4.         /// <param name="Started">是否启动</param>  
  5.         /// <param name="name">启动值的名称</param>  
  6.         /// <param name="path">启动程序的路径</param>  
  7.         public void RunWhenStart(bool Started, string name, string path)
  8.         {
  9.             RegistryKey HKLM = Registry.LocalMachine;
  10.             RegistryKey Run = HKLM.CreateSubKey(@"SOFTWARE/Microsoft/Windows/CurrentVersion/Run");
  11.             if (Started == true)
  12.             {
  13.                 try
  14.                 {
  15.                     Run.SetValue(name, path);
  16.                     HKLM.Close();
  17.                 }
  18.                 catch//没有权限会异常 
  19.                 {}
  20.             }
  21.             else
  22.             {
  23.                 try
  24.                 {
  25.                     Run.DeleteValue(name);
  26.                     HKLM.Close();
  27.                 }
  28.                 catch//没有权限会异常 
  29.                 {}
  30.             }
  31.         } 

或者直接:

  1. //添加启动
  2. RegistryKey ms_run = Registry.LocalMachine.OpenSubKey("SOFTWARE//Microsoft//Windows//CurrentVersion//Run"true);
  3.                     ms_run.SetValue("mistysoft", Application.ExecutablePath.ToString());
  4. //删除启动(设为控,注册表项还在)
  5. RegistryKey ms_run = Registry.LocalMachine.OpenSubKey("SOFTWARE//Microsoft//Windows//CurrentVersion//Run"true);
  6. ms_run.SetValue("mistysoft""");

抱歉!评论已关闭.