【问题标题】:Why the console window shown even if i set it to be hidden?为什么即使我将其设置为隐藏控制台窗口也会显示?
【发布时间】:2020-05-27 20:23:50
【问题描述】:

如何摆脱控制台窗口?我有如下的 ProcessStartInfo

   var processStartInfo = new ProcessStartInfo()
    {
       FileName = Path.Combine(path, "Hi.exe");,
       WindowStyle = ProcessWindowStyle.Hidden,
       UseShellExecute = false,
       CreateNoWindow = true,
        RedirectStandardInput = true,
     };
      Process.Start(processStartInfo).StandardInput.WriteLine(argHandlerArgs);

【问题讨论】:

  • processStartInfo.CreateNoWindow = true
  • 已经设置为true
  • 是的,对不起,我正在写的那件事让我很紧张。我的意思是,如果Hi.exe 是一个控制台应用程序,请仅使用CreateNoWindow = true,删除WindowStyle,这样它就不会妨碍并添加.RedirectStandardError = True
  • 那也没用
  • 您做错了什么(您的代码无法编译)。请参阅此处的示例代码:How do I get output from a command to appear in a control on a Form in real-time?,照原样重试。我并不是说它对你有用——我不知道你的控制台应用程序在做什么(或者你在做什么)——但它通常会:)

标签: c# process console-application


【解决方案1】:

为什么即使我设置为隐藏控制台窗口也会显示?

根据the docs

要使用 Hidden,UseShellExecute 属性必须为 true。

但您已将UseShellExecute 设置为false

如果您的进程运行时间很短,请考虑改用Minimized

【讨论】:

  • 那么也许使用Minimized@user173092?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-04
  • 2011-04-04
  • 2012-10-11
相关资源
最近更新 更多