设置 CreateNoWindow 时允许 UAC window

Allow UAC window when CreateNoWindow is set

我正在创建通过 processStart 方法启动另一个进程的应用程序,因为我正在启动的应用程序需要管理员权限,所以我设置了 ruans 动词。其次,我想做的是启动过程不会显示任何形式。我的代码是:

Process process = new Process();
process.StartInfo = new ProcessStartInfo("sdfsdf", "sdfasdgdf");
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
process.StartInfo.Verb = "runas";
process.Start();

但问题是process.StartInfo.CreateNoWindow没有创建windows,它适用于创建UAC window,需要显示什么。如何允许显示 UAC window 但不显示其他?

与其像这样直接启动 'target' 应用程序,不如创建一个小型 'helper' 应用程序,它除了使用 CreateNoWindow 启动目标应用程序外什么都不做。

然后您使用 'runas' 启动您的 'helper' 应用程序而不使用 CreateNoWindow,因为您的 'helper' 应用程序不会创建任何 windows 这不是问题,并且由于它是 运行 和 'runas' 它将能够 运行 其他没有 'runas' 本身的提升程序 - 因此可以使用 CreateNoWindow。