我想在此过程中以管理权限运行cmd,但是弹出窗口甚至将WindowStyle设置为隐藏。

 ProcessInfo = new ProcessStartInfo("cmd.exe", "/c " + @"cscript.exe DTCSECURITY.vbs");
 ProcessInfo.CreateNoWindow = true;.
 ProcessInfo.WindowStyle = ProcessWindowStyle.Hidden;

 // Here with i pass the privillage
 ProcessInfo.UserName = @"administrator";
 ProcessInfo.Password = StringToSecureString("password12$");

 process = Process.Start(ProcessInfo);
 process.WaitForExit();


但是,如果我评论特权代码,则不会弹出闪烁。

最佳答案

我认为您应该设置WorkingDirectory属性。来自MSDN;


  如果UserName和Password为,则必须设置WorkingDirectory属性。
  提供。如果未设置该属性,则默认工作目录为
  %SYSTEMROOT%\ system32。





  如果UserName属性不为null或为空字符串,则
  UseShellExecute属性必须为false,否则为
  InvalidOperationException将在
  调用Process.Start(ProcessStartInfo)方法。

09-28 00:01