相关疑难解决方法(0)

使用 ProcessStartInfo 重定向标准输出并提示 UAC

我正在开发面向 .NET 3.0 的 WPF 应用程序。我需要调用一个需要管理权限的 exe。我可以通过使用以下内容让 UAC 提示许可:

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.Verb = "runas";
startInfo.UseShellExecute = true;
startInfo.FileName = "target.exe";

Process p = new Process();
p.StartInfo = startInfo;
p.Start();
Run Code Online (Sandbox Code Playgroud)

我的问题是我需要重定向标准输出,这样做会UseShellExecute = true导致异常,说明:

Process 对象必须将 UseShellExecute 属性设置为 false 才能重定向 IO 流

但是,将其设置为 false 会导致 UAC 不提示许可,并且出现异常说明:

请求的操作需要提升

如何重定向标准输出并提示 UAC?

我见过这个类似的问题,但是解决方案是使用 app.manifest 来授予我的应用程序管理权限。由于要求,这是我不能做的事情。

c# wpf

5
推荐指数
1
解决办法
5702
查看次数

标签 统计

c# ×1

wpf ×1