2012-09-28 4 views
0

가능한 중복 :
How do I start a process with idle priority in .Net백그라운드 스레드에서 Process.Start()를 실행 하시겠습니까?

어떻게 백그라운드 스레드에서 Process.Start를 실행하고 그것에게 높은 우선 순위를 부여하기 위해? 나는 wpf C# 응용 프로그램에 있습니다. 당신이 그것을 시작 후 감사

+0

스레드 프로세스를 포함 할 수 없습니다 : 스레드에서 프로세스를 시작하는 방법에 대한

은이 링크를 참조하십시오. –

+0

스레드는 * 프로세스를 시작할 수 있지만 프로세스를 포함 할 수 없다고 말할 수 있습니다. – tomfanning

+1

왜 백그라운드 스레드에서 시작해야합니까? 프로세스 시작은 비 블로킹입니다. 그것은 오래 걸리지 않습니다. 문제없이 배경이 아닌 스레드에서이 작업을 수행 할 수 있습니다. – Servy

답변

2

Process.Start() 

와 프로세스를 시작합니다 그리고는 PriorityClass을 설정합니다. Async process start and wait for it to finish

ThreadPool.QueueUserWorkItem(delegate { 
     Process process = Process.Start(startInfo); 
     if(process.WaitForExit(timeout)) { 
      // user exited 
     } else { 
      // timeout 
     } 
    }); 
관련 문제