Process.Start()未按预期执行

时间:2012-12-05 22:58:25

标签: 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";
process.StartInfo.Arguments = "/F \"C:\\Program Files\\Borland\" /A /R /D Y";
process.Start();
process.WaitForExit();  

我错过了什么?

3 个答案:

答案 0 :(得分:3)

您需要在startinfo对象上将useshellexecute设置为false才能由UAC提示

答案 1 :(得分:0)

Windows的格式和重新安装似乎可以解决问题。我希望我有一个更好的答案,但经过多次搜索,我发现没有任何效果。也许现有的安全设置阻止它工作。

答案 2 :(得分:0)

有同样的问题。 发布构建(但不是默认的“调试”)可以帮助我。