Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Process.Start()未按预期执行_C#_.net_Security_Process_Uac - Fatal编程技术网

C# Process.Start()未按预期执行

C# Process.Start()未按预期执行,c#,.net,security,process,uac,C#,.net,Security,Process,Uac,如果我从提升的命令提示符运行takeown/F“C:\Program Files\Borland/A/R/D Y,我将获得Borland文件夹的所有权。但是如果我运行下面的代码,则不会发生任何情况。我尝试以管理员和普通用户的身份运行 Process process = new Process(); process.StartInfo.FileName = @"C:\Windows\System32\takeown.exe"; process.StartInfo.Verb = "runas"; p

如果我从提升的命令提示符运行
takeown/F“C:\Program Files\Borland/A/R/D Y
,我将获得
Borland
文件夹的所有权。但是如果我运行下面的代码,则不会发生任何情况。我尝试以管理员和普通用户的身份运行

Process process = new Process();
process.StartInfo.FileName = @"C:\Windows\System32\takeown.exe";
process.StartInfo.Verb = "runas";
process.StartInfo.Arguments = "/F \"C:\\Program Files\\Borland\" /A /R /D Y";
process.Start();
process.WaitForExit();  

我遗漏了什么?

您需要将startinfo对象上的useshellexecute设置为false,以便由UAC提示一种格式和重新安装Windows似乎可以解决问题。我希望我有一个更好的答案,但经过多次搜索后,我发现没有任何效果。可能是现有的安全设置阻止了它的工作

也有同样的问题。
Releasebuild(但不是默认的“Debug”)对我有帮助。

我也有同样的问题。我曾尝试编写一个PowerShell脚本,使用runas对服务执行一些操作……运气不好。在我看来runas!=uac(在PowerShell中,它会在提示中询问您的密码,并且不会弹出uac对话框)。我也想找到一个答案:)你是否启用了UAC?它对我在工作时这样做很有效(UAC被禁用)。也许UAC阻止了你这么做?这是在Windows 8上,UAC是打开的。嗯,也许Windows 8有不同的(本机)运行进程的方式?您的程序设置为.net还是winrt程序?我想winrt对您可以调用哪些进程有限制。我添加了“process.StartInfo.UseShellExecute=false;“但它似乎没有改变任何东西。JimDel你也有动词=符文吗?这两个词的组合似乎完成了UAC提示。我没有注意到你在Windows 8上,也许微软改变了一些东西。但是,如果设置了这两个值,我总是收到UAC。谢谢Alex。看看我所做的回答。