0

我有另一个应用程序启动的控制台应用程序。这就是我正在玩的开始它:

          ProcessStartInfo processStartInfo = new ProcessStartInfo();
        processStartInfo.FileName = @"C:\...\MyApp.exe";

        processStartInfo.Arguments = "a, a, \\n, d, c";
        processStartInfo.CreateNoWindow = true;
        processStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
        processStartInfo.UseShellExecute = false;
        processStartInfo.ErrorDialog = false;

        processStartInfo.RedirectStandardError = true;
        processStartInfo.RedirectStandardInput = true;
        processStartInfo.RedirectStandardOutput = true;
        Process process = Process.Start(processStartInfo);

这个控制台应用程序背后的想法是,在运行这些参数之后,用户唯一可见的是他们可以与之交互的 SysTray 图标。选项之一是显示控制台的能力。这是一个双重问题:

  1. 由于控制台应用程序是在后台启动的,我如何让它不再在后台?最初我使用一些 COM 和 P/Invoke 的 ShowWindow/HideWindow 方法,但这似乎有所不同。
  2. 运行此流程代码时,控制台应用程序会短暂闪烁,然后进入后台。如何抑制控制台的这种闪烁?这看起来一点都不专业。
4

0 回答 0