请求的操作需要提升
本文关键字:操作 请求 | 更新日期: 2023-09-27 18:20:07
我正试图从另一个用户帐户名称运行一个exe文件,它显示以下错误
System.ComponentModel.Win32Exception: The requested operation requires an elevation
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo) at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
这是我的代码
ProcessStartInfo pro = new ProcessStartInfo(application);
pro.UseShellExecute = false;
pro.Verb = "runas";
pro.WorkingDirectory = workingdirectory;
pro.RedirectStandardInput = true;
pro.RedirectStandardOutput = true;
pro.CreateNoWindow = true;
Process process = Process.Start(pro);
如何解决此问题?
不幸的是,您无法进行
- 使用提升的权限运行,并且
- 重定向输入/输出
同时。
原因:
Verb
仅在UseShellExecute = true
时被识别,但是- 重定向IO需要CCD_ 3
更多信息:
- 提升特权;t使用UseShellExecute=false
我想在您的情况下,您将不得不跳过使用runas
,而是要确保您的应用程序已经使用正确的用户帐户/权限启动。这应该是可行的,因为由提升的进程启动的进程"继承"了提升。