C# で Process.Start からコンソール ウィンドウを非表示にする
System.Diagnostics.Process クラス経由でプロセスを起動すると、ユーザーが永続的なコンソールに遭遇する場合があるCreateNoWindow や WindowStyle などのプロパティを設定しているにもかかわらず、ウィンドウが表示されません。
このような場合、潜在的な解決策があります。 UseShellExecute が false に設定されていることを確認します。 MSDN に記載されているとおり:
UseShellExecute プロパティが true であるか、UserName プロパティと Password プロパティが null でない場合、CreateNoWindow プロパティ値は無視され、新しいウィンドウが作成されます。
したがって、次のようになります。コードはコンソール ウィンドウを効果的に非表示にする必要があります:
ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = fullPath; startInfo.Arguments = args; startInfo.RedirectStandardOutput = true; startInfo.RedirectStandardError = true; startInfo.UseShellExecute = false; startInfo.CreateNoWindow = true; Process processTemp = new Process(); processTemp.StartInfo = startInfo; processTemp.EnableRaisingEvents = true; try { processTemp.Start(); } catch (Exception e) { throw; }
以上がC# でプロセスを起動するときにコンソール ウィンドウを効果的に非表示にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。