【问题标题】:How to span child process with administrative privileges from parent process with administrate privileges in C#?如何在 C# 中从具有管理员权限的父进程中跨越具有管理员权限的子进程?
【发布时间】:2012-05-18 02:28:15
【问题描述】:

如何在不使用verb=runas 的情况下生成具有管理权限的子进程?

父进程具有管理权限。而且我想将输出(不仅仅是纯文本,而是“彩色”)放到父进程的控制台(输出)。

【问题讨论】:

  • 所以,我假设用颜色书写需要管理权限?您可以尝试将子进程的 STDOUT 重定向到父进程的 STDIN。然后,让父进程用颜色装饰来自 STDIN 的任何内容,并将其发送到它的 STDOUT(即:控制台窗口)。或者,在父进程的线程中生成子进程。读取子进程的 STDOUT,以及带有装饰的线程内的 Console.WriteLine()。
  • 我不知道如何以管理权限启动子进程。
  • 为什么子进程需要管理权限?从您的问题的措辞看来,您需要以管理员身份执行它的唯一原因是用颜色写入控制台?
  • 子进程是MSBuild。

标签: c# process console runas output-redirect


【解决方案1】:

使用来自 Win API (unmanaged) 的 CreateProcess 函数。 子进程将具有与父进程相同的权限,并将在与父进程相同的控制台窗口中运行。

【讨论】:

    猜你喜欢
    • 2012-06-25
    • 2011-01-13
    • 2011-11-28
    • 1970-01-01
    • 1970-01-01
    • 2021-05-23
    • 2011-05-05
    • 1970-01-01
    相关资源
    最近更新 更多