当应用程序以管理员身份运行时,打开第二个表单时是否可以要求用户权限



我知道您可以创建一个清单文件来指定整个应用程序的访问级别管理员。但是,是否可以只要求特定的形式?

不,这是不可能的。

你能做的:让你的流程在没有提升的情况下运行。当您发现需要提升但您的进程没有在提升后运行时,用"重新启动进程(process.Start(;runas";动词和一些命令行选项,您可以在新启动的过程中评估这些选项,以立即打开表单。

if (!RunningElevated())
{
// restart as elevated process
ProcessStartInfo psi = new ProcessStartInfo
{
UseShellExecute = true,
Verb = "runas",
WorkingDirectory = Environment.CurrentDirectory,
FileName = Assembly.GetExecutingAssembly().Location,
Argument = "--open MyForm" // has to be evaluated on the startup code
};
var process = Process.Start(psi);
if (process != null)
Application.Current.Shutdown(0); // this is for WPF
}

相关内容

最新更新