【问题标题】:C# how to run a process(with arguments) through an administrator elevated cmdC# 如何通过管理员提升的 cmd 运行进程(带参数)
【发布时间】:2011-01-14 01:34:46
【问题描述】:
ProcessStartInfo procStartInfo = new ProcessStartInfo("cmd", "/c " +"processNeedToRun")
{
    RedirectStandardError = true,
    RedirectStandardOutput = true,
    UseShellExecute = false,
    CreateNoWindow = true,
    Verb ="runas"
};

我使用上面的代码在C#中通过cmd运行一个进程。

但是,问题是:

  1. “processNeedToRun”在运行时需要参数。
  2. 即使我设置 Verb ="runas",Windows 7 仍然会提示一个提升对话框。

是否可以满足所有要求?

【问题讨论】:

    标签: c# .net process privileges


    【解决方案1】:

    如果启动processNeedToRun 的进程未提升,则无法避免提升对话框。这样做将是一个安全漏洞。所以你只需要忍受海拔提示。

    不过,向processNeedToRun 添加参数是没有问题的。您可以将它们添加到您传递给 ProcessStartInfo 的参数中:

    var procStartInfo = new ProcessStartInfo("cmd", "/c processNeedToRun arg1 arg2");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-20
      • 2013-06-10
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-23
      • 2015-06-16
      相关资源
      最近更新 更多