如何让有管理员权限的程序开机自启动

开启自启动的两种方式

1:修改注册表

RegistryKey run = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run");//当前用户

RegistryKey run = Registry.LocalMachine.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run");//当前设备的所有用户

run.SetValue(key, value); //value是指定开启文件的路径

2:通过在C:\Users\wangbiao\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup创建lnk方式

 string StartupPath = System.Environment.GetFolderPath(Environment.SpecialFolder.Startup);
 string ink = StartupPath + "\\xxxx.lnk"; //快捷方式的名称

 string exepath =exename;  //程序完成路径名称

  if (!File.Exists(ink))
  {
                            IWshRuntimeLibrary.WshShell shell = new IWshRuntimeLibrary.WshShell();
                            IWshRuntimeLibrary.IWshShortcut shortcut = (IWshRuntimeLibrary.IWshShortcut)shell.CreateShortcut(ink);//创建快捷方式对象
                            shortcut.TargetPath = exepath;//指定目标路径
                            shortcut.WorkingDirectory = Path.GetDirectoryName(exepath);//设置起始位置
                            shortcut.WindowStyle = 1;//设置运行方式,默认为常规窗口
                            shortcut.Description = "Auto run CJ Smart Wifi";//设置备注
                            //shortcut.IconLocation = string.IsNullOrWhiteSpace(iconLocation) ? targetPath : iconLocation;//设置图标路径
                            shortcut.Save();//保存快捷方式
     }

 

**没有管理员权限的程序通过这两种方式都可以正常启动,有管理员权限的则不行

 

让有管理员权限的程序开机自启动

方法:让一个没有管理员的程序设置自启动,开启自启动后,呼叫管理 员权限的程序

           System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
            startInfo.UseShellExecute = true;
            startInfo.WorkingDirectory = Environment.CurrentDirectory;
            startInfo.FileName =ExeName";       //ExeName有管理员权限的程序完整路径
            //设置启动动作,确保以管理员身份运行
            startInfo.Verb = "runas";
            try
            {
                System.Diagnostics.Process.Start(startInfo);
                Environment.Exit(0);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

 

 

 

 

 

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值