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 응용 프로그램과 함께 작동하도록했습니다.