启动隐藏的控制台进程,但仍带有 UAC 提示符



我正在尝试启动隐藏的控制台应用程序,但要求该应用程序具有提升的权限。

我已经成功地设法让UAC提示出现,但是当我尝试隐藏启动进程时无法让它出现。

ProcessStartInfo proc = new ProcessStartInfo();
proc.UseShellExecute = false;
proc.FileName = "C:/example.exe";
proc.CreateNoWindow = true;
proc.Verb = "runas";

这将导致一个进程在后台启动,除非没有出现提示(并且没有提升的权限(。如果我将 UseShellExecute 更改为 true,则会出现 UAC 提示符,但控制台窗口也可见。

您需要

WindowStyle设置为 ProcessWindowStyle.Hidden ,如 Jexus Manager 所示,

https://github.com/jexuswebserver/JexusManager/blob/be90688abd03780a714dc401054e22fa4afa2be3/Microsoft.Web.Administration/IisExpressServerManager.cs#L41

最新更新