別のアプリケーションが起動するこのコンソール アプリがあります。これは私がそれを始めるために遊んでいるものです:
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 つは、コンソールを表示する機能です。これは 2 つの質問です。
- コンソール アプリはバックグラウンドで起動されますが、バックグラウンドにならないようにするにはどうすればよいですか? もともと、COM と P/Invoke を使用して ShowWindow/HideWindow アプローチを使用していましたが、これは異なるようです。
- このプロセス コードが実行されると、コンソール アプリが短時間点滅してからバックグラウンドに移行します。コンソールのこのフラッシュを抑制するにはどうすればよいですか? それはまったくプロに見えません。