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、在程序中添加程序清单文件:新建项->应用程序清单文件

Winform开机自启动_第1张图片

2、打开刚刚新建的清单文件,按照下图修改UAC选项
Winform开机自启动_第2张图片
修改完成,现在试试看行不行。

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

在【解决方案资源管理器】中右键你的项目—>打开“属性”—>左边选择“安全性”—>把【启用ClickOnce安全设置】的勾子去掉。
Winform开机自启动_第3张图片
OK~!

你可能感兴趣的:(经验总结)