System.Diagnostics.Processクラスを使用してリモートマシンでプロセスを作成しようとしています。プロセスを作成することができます。しかし問題は、サービスの作成に時間がかかり、コンソールウィンドウが表示されることです。別の厄介なことは、コンソールウィンドウが私のウィンドウフォームの上に表示され、そのフォームで他の操作を実行できないことです。私のようなすべてのプロパティを設定していますCreateNoWindow = true
、
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
それでもコンソールウィンドウが表示されます。出力とエラーを別のストリームにリダイレクトしましたが、運はありませんでした。
コンソールウィンドウを非表示にする方法は他にありますか?私を助けてください 。
これは、scコマンドの実行に使用したコードの一部です。
Process proc = new Process();
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
proc.StartInfo.FileName = "sc";
proc.StartInfo.Arguments = string.Format(@"\\SYS25 create MySvc binPath= C:\mysvc.exe");
proc.StartInfo.RedirectStandardError = false;
proc.StartInfo.RedirectStandardOutput = false;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.CreateNoWindow = true;
proc.Start();
proc.WaitForExit();
UseShellExecute
とCreateNoWindow
二回?
proc.StartInfo.RedirectedStandardOutput = true
か?私はこれをWindowsアプリケーションで動作するようにしました。