Estou tentando criar o processo em uma máquina remota usando a classe System.Diagnostics.Process. Sou capaz de criar um processo. Mas o problema é que a criação de um serviço leva muito tempo e a janela do console é exibida. Outra coisa irritante é que a janela do console é exibida no topo do meu formulário do Windows e eu não consigo fazer nenhuma outra operação nesse formulário. Eu configurei todas as propriedades como CreateNoWindow = true
,
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
mas ainda mostra a janela do console. mesmo eu redirecionei a saída e os erros para fluxo separado, mas sem sorte.
Existe alguma outra maneira de ocultar a janela do console? Por favor, me ajude .
Aqui está a parte do meu código que usei para executar o comando 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
e CreateNoWindow
duas vezes?
proc.StartInfo.RedirectedStandardOutput = true
? Eu fiz isso funcionar com um aplicativo do Windows.