C#开机自动启动程序

开机自动启动程序的函数:

public void SetAutoRun(string fileName, bool isAutoRun)  
{  
    RegistryKey reg = null;  
    try  
    {  
        if (!System.IO.File.Exists(fileName))  
            throw new Exception("该文件不存在!");  
        String name = fileName.Substring(fileName.LastIndexOf(@"\") + 1);  
        reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true);  
        if (reg == null)  
            reg = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");  
        if (isAutoRun)  
            reg.SetValue(name, fileName);  
        else  
            reg.SetValue(name, false);  
        lbl_autorunerr.Visible = false;  
    }  
    catch  
    {  
        lbl_autorunerr.Visible = true;  
        //throw new Exception(ex.ToString());  
    }  
    finally  
    {  
        if (reg != null)  
            reg.Close();  
    }  
}  
 

使用的时候,直接调用SetAutoRun函数即可,这里解释一下两个参数的含义:

fileName:需要设置自动启动程序的路径,若为当前程序可直接传递Application.ExecutablePath。

isAutoRun:是否自动运行,为false时,取消自动运行。

例:  SetAutoRun(Application.ExecutablePath, true);  //设置自动启动当前程序

      SetAutoRun(Application.ExecutablePath, false);  //取消自动启动
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以通过以下步骤实现 C# 程序开机自启和关闭: 开机自启: 1. 打开 C# 项目,右键点击项目名称,选择“添加” -> “新建项” -> “应用程序清单文件”。 2. 在清单文件中添加以下代码: ``` <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> <requestedExecutionLevel level="requireAdministrator" /> <application> <runAtStartup>true</runAtStartup> </application> </startup> ``` 3. 在项目中添加 System.Management.dll 引用。 4. 在代码中添加以下代码: ``` using System.Management; private void SetAutoRun(string name, string path) { ManagementClass mgmtClass = new ManagementClass("Win32_StartupCommand"); ManagementBaseObject inParams = mgmtClass.GetMethodParameters("Create"); inParams["Name"] = name; inParams["Command"] = path; inParams["Location"] = "HKLM"; mgmtClass.InvokeMethod("Create", inParams, null); } ``` 5. 调用 SetAutoRun 方法,传入要启动程序名称和路径即可。 关闭自启: 1. 打开 C# 项目,右键点击项目名称,选择“添加” -> “新建项” -> “应用程序清单文件”。 2. 在清单文件中添加以下代码: ``` <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> <requestedExecutionLevel level="requireAdministrator" /> <application> <uninstallShortcut>true</uninstallShortcut> </application> </startup> ``` 3. 在代码中添加以下代码: ``` using System.Management; private void RemoveAutoRun(string name) { ManagementClass mgmtClass = new ManagementClass("Win32_StartupCommand"); ManagementObjectCollection mgmtCollection = mgmtClass.GetInstances(); foreach (ManagementObject mgmtObject in mgmtCollection) { if (mgmtObject["Name"].ToString().ToLower() == name.ToLower()) { mgmtObject.Delete(); break; } } } ``` 4. 调用 RemoveAutoRun 方法,传入要关闭自启的程序名称即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值