将控制台句柄传递给孩子

时间:2016-07-13 21:57:41

标签: .net winapi

这是一个.NET问题

假设我通过ProcessStartInfo创建一个命令行进程,指定:

  • NoShellExecute
  • CreateNoWindow
  • RedirectStandardOutput
  • ...和stderr + stdin

我可以将它的输出读作ByteStream并将其打印在我自己的控制台上。细

但是如果我的子进程选择设置光标位置,那就不会发生。

这是有道理的,因为它没有自己的窗口(由于CreateNoWindow选项)并且没有虚拟控制台。因此,它没有有效的句柄传递给SetCursorPosition

所以我要问的是:

如何授予我的子进程访问我自己的控制台句柄的权限? 这样它就像拥有控制台(窗口)

一样

我知道Powershell可以做到,但我不知道它是使用WindowsAPI还是有一些.NET方法来实现它。

0 个答案:

没有答案