Winform开机自启动

Winform程序开机自启动

思路:将启动路径写入注册表
方法:在程序启动时执行如下方法,在下次重启时则会自动启动

        private void SetAutoStart()
        {
            try
            {
                string regPath = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";               
                string path = Application.ExecutablePath.ToLower();
                string name = Path.GetFileName(path);
                var regKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(regPath, true);
                if (regKey == null) regKey = Microsoft.Win32.Registry.LocalMachine.CreateSubKey(regPath);
                regKey.SetValue(name, path);
            }
            catch { }           
        }

填坑:写注册表需要系统管理员权限,若发现以上方法未成功实现,则需进行如下操作:
1、在程序中添加程序清单文件:新建项->应用程序清单文件

在这里插入图片描述

2、打开刚刚新建的清单文件,按照下图修改UAC选项
在这里插入图片描述
修改完成,现在试试看行不行。

继续填坑:如果修改完成生成可执行文件时发生报错{ClickOnce 不支持请求执行级别requireAdministrator },那么请跟着我操作:

在【解决方案资源管理器】中右键你的项目—>打开“属性”—>左边选择“安全性”—>把【启用ClickOnce安全设置】的勾子去掉。
在这里插入图片描述
OK~!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值