C# 正在使用uac进程提示输入uac
我正在尝试在控制台应用程序中运行exe。我被提示UAC输入管理员凭据。问题是我只有读取和执行权限。我无法授予完全权限,因为它位于服务器上C# 正在使用uac进程提示输入uac,c#,console-application,uac,C#,Console Application,Uac,我正在尝试在控制台应用程序中运行exe。我被提示UAC输入管理员凭据。问题是我只有读取和执行权限。我无法授予完全权限,因为它位于服务器上 using (Process process = new Process()) { process.StartInfo.Verb = "runas"; process.StartInfo.FileName = ImgToDjvuPath; process.StartInfo.Arguments = string.Format("\"{0
using (Process process = new Process())
{
process.StartInfo.Verb = "runas";
process.StartInfo.FileName = ImgToDjvuPath;
process.StartInfo.Arguments = string.Format("\"{0}\" -profile \"{1}\" \"{2}\" \"{3}\"", ImgToDjvuPath, "fine200up", localNewDjvuFile, localNewDjvuFile);
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.StartInfo.CreateNoWindow = true;
process.Start();
process.WaitForExit(10 * 60 * 1000);
}
我希望能够运行这段代码,让它在没有uac提示的情况下工作
这就是为什么我不喜欢堆栈溢出,你问一个特定的问题,很少得到一个特定的答案。然后因为提出了一个有效的问题而被扣分。我发帖后大约两分钟就想出来了。多亏了那些真正试图提供建设性帮助和帮助的人。如果您想启动一个新流程,并且希望流程以管理员身份运行,您需要RunAs动词 仅当流程调用程序没有管理权限时,才会显示UAC提示 对于您的情况,如果您不希望流程以管理员的身份执行,则应该从代码中删除以下行:
process.StartInfo.Verb = "runas";
这不是某个windows设置吗?例如,如果不希望实用程序以管理员身份执行,为什么要使用runas谓词?如果没有管理员权限,则无法运行类似于管理员的操作。如果可执行文件需要提升才能运行,则必须从已具有提升的进程中执行可执行文件,或者需要在提示时手动提升进程。事实并非如此,读和执行应该足够了