应用程序添加到启动(需要管理员权限启动应用程序)

时间:2013-03-27 15:53:41

标签: windows startup administrator

我有一个C#应用程序,我想将此应用程序添加到启动中。我用:

 RegistryKey Key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true);
 Key.SetValue("APPName", "C:\\Program Files\\App\AppName.exe");

我的应用程序需要管理员运行权限,我想要一种方法来注册我的应用程序或添加到受信任的应用程序。

感谢。

现在我正在使用:

        var info = new ProcessStartInfo(
            Assembly.GetEntryAssembly().Location)
        {
            Verb = "runas", // indicates to elevate privileges
        };

        var process = new Process
        {
            EnableRaisingEvents = false, // enable WaitForExit()
            StartInfo = info
        };

        process.Start();

仅获取一种方法的访问权限,但现在我遇到了

的问题
     unauthorizedAccessException was unhandled

我正在尝试在C:\ Program Files中创建一个目录。

1 个答案:

答案 0 :(得分:0)

如果您使用visual studio 2010或2012,请转到添加新项目Application Manifest。 将requestedExecutionLevel更改为以下内容:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

现在,当您的应用程序启动时,它将要求以提升模式运行。

另一种方法是在提升模式下重启应用程序。为此,您不需要应用程序清单。

您可以在这里阅读这两种技术:
http://www.codeproject.com/Articles/105506/Getting-Elevated-Privileges-on-Demand-using-C

相关问题