我有一个应用程序(称为“启动器”),我可以在其中启动其他应用程序
其中一个应用程序需要管理员权限。如果我尝试从启动器启动它,我会得到一个例外,它说我需要更高的权限。
从Launcher启动应用程序的代码如下:
try
{
ProcessStartInfo startInfo = new ProcessStartInfo(PATH, ARGUMENT)
{
WorkingDirectory = WORKINGDIRECTORY
};
Process.Start(startInfo);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
如果我启动启动器,一切正常。但我不想每次都以管理员身份启动Launcher。
如何从非管理员进程中以管理员身份启动新流程?
答案 0 :(得分:0)
您的应用需要是管理员,或者您需要提供用户名密码。对于用户名/密码方法,请参阅:
这有更多您正在寻找的方法,但它并不是您可能喜欢的一小段代码。
Process.Start with different credentials with UAC on
否则,请将此添加到您的应用清单文件中。
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
答案 1 :(得分:0)
创建具有管理员权限的帐户,然后使用管理员帐户的相应值填充UserName
实例上的Password
和ProcessStartInfo
属性。