程序开机自动启动

//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);
}
 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值