Я намагаюся створити процес на віддаленій машині, використовуючи клас System.Diagnostics.Process. Я в змозі створити процес. Але проблема полягає в тому, що створення послуги займає багато часу і відображається вікно консолі. Інша дратівлива річ - це те, що вікно консолі відображається поверх моєї форми Windows, і я не можу робити будь-які інші операції над цією формою. Я встановив усі властивості, як 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.