当以管理员身份申请 运行 时,是否可以在打开第二个表单时要求用户权限?
Is it possible to require user rights when opening second form ,when application run as administrator?
我知道您可以创建一个清单文件来指定整个应用程序的管理员访问级别。但是是否可以仅针对特定表格要求它?
不,这不可能。
你能做什么:让你的过程运行不提升。
当您发现需要提升但您的进程没有 运行 提升时,使用“运行as”动词和一些您可以评估的命令行选项重新启动进程 (Process.Start)在新启动的进程中立即打开表格。
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
}
我知道您可以创建一个清单文件来指定整个应用程序的管理员访问级别。但是是否可以仅针对特定表格要求它?
不,这不可能。
你能做什么:让你的过程运行不提升。 当您发现需要提升但您的进程没有 运行 提升时,使用“运行as”动词和一些您可以评估的命令行选项重新启动进程 (Process.Start)在新启动的进程中立即打开表格。
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
}