반응형
콘솔 창을 방해하지 않고 C #에서 프로세스 시작
프로세스를 시작하는 방법을 알아 냈습니다. 그러나 내 문제는 이제 콘솔 창 (이 경우 7z)이 내 시야를 차단하고 내 문장을 방해하는 포커스를 제거하거나 몇 초마다 수행하고 있다는 것입니다. 매우 성가신 일이 발생하지 않도록 어떻게 방지합니까? CreateNoWindow가 그것을 해결한다고 생각했지만 그렇지 않았습니다.
참고 : 때때로 콘솔에 사용자 입력이 필요합니다 (파일 교체 여부). 그래서 그것을 완전히 숨기는 것은 문제가 될 수 있습니다.
이것은 내 현재 코드입니다.
void doSomething(...)
{
myProcess.StartInfo.FileName = ...;
myProcess.StartInfo.Arguments = ...;
myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start();
myProcess.WaitForExit();
}
내가 올바르게 기억하면 이것은 나를 위해 일했습니다.
Process process = new Process();
// Stop the process from opening a new window
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
// Setup executable and parameters
process.StartInfo.FileName = @"c:\test.exe"
process.StartInfo.Arguments = "--test";
// Go
process.Start();
다른 프로세스를 시작하기 위해 C # 콘솔 응용 프로그램 내에서 이것을 사용하고 있으며 응용 프로그램이 별도의 창에서 시작하는 것을 중지하고 모든 것을 동일한 창에 유지합니다.
@galets 귀하의 제안에 따르면 창은 여전히 생성되며 최소화되기 시작합니다. 이것은 acidzombie24가 원하는 것을 실제로 수행하는 데 더 효과적입니다.
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
이 시도:
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Minimized;
다시 확인해야하지만을 설정해야한다고 생각합니다 UseShellExecute = false
. 또한 표준 출력 / 오류 스트림을 캡처 할 수 있습니다.
반응형
'programing' 카테고리의 다른 글
DynamoDB에서 열을 추가하는 방법 (0) | 2021.01.11 |
---|---|
Cursor.Current vs. this. Cursor (0) | 2021.01.11 |
ClickOnce 오류 : 값이 예상 범위 내에 있지 않습니다. (0) | 2021.01.11 |
typedef의 사용은 무엇입니까? (0) | 2021.01.11 |
Nokogiri를 사용하여 속성에 액세스하는 방법 (0) | 2021.01.11 |