win10 requireAdministrator设置开机自启动无效的解决方案
开发了一个wpf程序,需要管理员权限,设置了requireAdministrator
同时需要开机自启动,所以添加了注册表:
using (RegistryKey key = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true))
{
    key.SetValue("MyApp", "\"" + System.Reflection.Assembly.GetExecutingAssembly().Location + "\"");
    key.Close();
}
但是在设置成功后,在电脑启动后程序却没有自动启动,找了很多办法,都不行,最后还是在网上找到了解决方案:
https://stackoverflow.com/questions/37440196/c-sharp-application-not-run-on-startup-startup-impact-not-measured-on-windows
就是当我们程序需要管理员权限时,注册表不能使用CurrentUser,需要使用LocalMachine,如下:
using (RegistryKey key = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true)) 
{ 
    key.SetValue("MyApp", "\"" + System.Reflection.Assembly.GetExecutingAssembly().Location + "\""); 
    key.Close(); 
}  
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号