程序开机自动启动

// RunWhenStart.cs
using  System;
using  System.Collections.Generic;
using  System.Text;
using  Microsoft.Win32;
using  System.Windows.Forms;

namespace  Walter.K.Wang
{
    
///   <summary>
    
///  
    
///   </summary>
     public   class  RunWhenStart
    {
        
///   <summary>
        
///  开机自动启动程序
        
///   </summary>
        
///   <param name="Started"> true为自动启动,false为不自动启动 </param>
         public   static   void  Run( bool  Started)
        {
            RegistryKey HKLM 
=  Registry.LocalMachine;
            RegistryKey Run 
=  HKLM.CreateSubKey( @" SOFTWAREMicrosoftWindowsCurrentVersionRun " );
            
if  (Started  ==   true )
            {
                
try
                {
                    Run.SetValue(Application.ProductName, Application.StartupPath 
+   @" "   +  Application.ProductName  +   @" .exe " );
                    HKLM.Close();
                }
                
catch  (Exception Err)
                {
                    
throw   new  Exception(Err.Message);
                }
            }
            
else
            {
                
try
                {
                    Run.DeleteValue(Application.ProductName);
                    HKLM.Close();
                }
                
catch  (Exception Err)
                {
                    
throw   new  Exception(Err.Message);
                }
            }
        }

        
///   <summary>
        
///  检测程序是否自动启动
        
///   </summary>
        
///   <returns> 自动启动为true,不自动启动为false </returns>
         public   static   bool  Getstate()
        {
            RegistryKey hkml 
=  Registry.LocalMachine;
            
string [] aimnames;
            
string  keyData  =   string .Empty;
            hkml 
=  Registry.LocalMachine.OpenSubKey( @" SOFTWAREMicrosoftWindowsCurrentVersionRun " true );
            aimnames 
=  hkml.GetValueNames();
            
bool  getin  =   false ;
            
foreach  ( string  aimKey  in  aimnames)
            {
                
if  (aimKey  ==  Application.ProductName)
                {
                    getin 
=   true ;
                }
            }
            
return  getin;
        }
    }
}
// 调用代码
if  (Walter.K.Wang.RunWhenStart.Getstate()  ==   false )
{
     Walter.K.Wang.RunWhenStart.Run(
true);
}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值