2013-08-04 2 views
1

나는 Windows API로 시작한 C로 미니 프로그램을 가지고있다. 몇 가지 프로세스를 만들고 배경 중 하나를 실행하고 Windows API를 사용하여 전경에서 다른 프로세스를 실행하고 싶습니다. 내 코드 생성 과정 :C로 백그라운드에서 프로세스를 실행하고 Windows API를 사용하는 방법?

int createBackgroundProcess(){ 
STARTUPINFO si; 
PROCESS_INFORMATION pi; 
ZeroMemory(&si, sizeof(si)); 
si.cb = sizeof(si); 
CreateProcess("exampleFile.exe",NULL,NULL,NULL,FALSE, 
CREATE_NEW_CONSOLE,NULL,NULL,&si,&pi); 

WaitForSingleObject(pi.hProcess,10000);//INFINITE 

TerminateProcess(pi.hProcess, 0); 
CloseHandle(pi.hProcess); 
CloseHandle(pi.hThread); 
} 

나는 배경에 그것을 만들 수있는 방법은 (배경은 여전히 ​​실행 거기에 있지만 우리는 그것을 볼 수 없습니다) (다른 프로세스가 같은 시간에 실행됩니다에 대한)

+0

"배경"은 무엇을 의미합니까? 그 과정에서 어떤 유형의 행동 *을 원하십니까? 우선 순위를 제한하는 것에 대해 이야기하고 있습니까? –

+0

Windows에는 "백그라운드 프로세스"라는 개념이 없습니다. 윈도우가없는 모든 프로세스는 꽤 배경입니다. CREATE_NO_WINDOW는 옵션입니다. 다른 옵션은 태스크 스케줄러를 사용하여 다른 데스크탑에서 실행하는 서비스를 작성하는 것입니다. –

+0

@Cody Grey : 배경이 여전히 실행 중이지만 표시되지 않습니다. – Thangnv

답변

1

ShowWindow(GetConsoleWindow(), SW_HIDE);을 찾고 계십니까? 콘솔에서 실행되는 것처럼 두 개의 별도 프로그램을 만들고 그냥 숨길 수 있습니다.

+0

질문에 대한 답변이 있으면 대답을 수락하십시오. – Citrus

관련 문제