`
wangleifire
  • 浏览: 500021 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

C# 开机启动

    博客分类:
  • c#
阅读更多

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" "" );
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics