C에서 Windows 실행 파일을 시작하고 관리하기 위해 ::CreateProcess 호출
이 문서에서는 C에서 ::CreateProcess 함수를 활용하는 방법을 보여줍니다. Windows 실행 파일을 시작하고, 완료될 때까지 기다리고, 종료를 올바르게 처리합니다.
실행 파일 시작
::CreateProcess 함수는 실행 파일 경로를 포함한 여러 매개 변수를 허용합니다. 및 명령줄 인수. EXE를 실행하려면 경로 매개변수에 실행 파일 경로를 지정하십시오.
<code class="cpp">STARTUPINFO info = { sizeof(info) }; PROCESS_INFORMATION processInfo; if (CreateProcess("C:\path\to\my.exe", NULL, NULL, NULL, TRUE, 0, NULL, NULL, &info, &processInfo)) { // Executable successfully launched } else { // Handle launch failure }</code>
Waiting for Completion
실행 파일이 완료될 때까지 기다리려면 다음을 호출하세요. 다음을 기다릴 핸들로 processInfo.hProcess를 사용하는 WaitForSingleObject 함수:
<code class="cpp">WaitForSingleObject(processInfo.hProcess, INFINITE);</code>
이렇게 하면 프로세스가 종료될 때까지 현재 스레드가 차단됩니다.
프로세스 종료 처리
실행 파일이 완료된 후 프로세스와 스레드 핸들을 닫아 시스템 리소스를 적절하게 해제합니다.
<code class="cpp">CloseHandle(processInfo.hProcess); CloseHandle(processInfo.hThread);</code>
샘플 코드
모두 종합하면, 다음 코드는 EXE를 시작하고, 완료될 때까지 기다리고, 프로세스 종료를 처리하는 방법을 보여줍니다.
<code class="cpp">STARTUPINFO info = { sizeof(info) }; PROCESS_INFORMATION processInfo; if (CreateProcess("C:\path\to\my.exe", NULL, NULL, NULL, TRUE, 0, NULL, NULL, &info, &processInfo)) { WaitForSingleObject(processInfo.hProcess, INFINITE); CloseHandle(processInfo.hProcess); CloseHandle(processInfo.hThread); }</code>
이 코드는 지정된 EXE를 시작하고, 완료될 때까지 기다린 다음 모든 핸들을 올바르게 닫습니다. 적절한 정리 및 리소스 할당 해제를 보장합니다.
위 내용은 C에서 ::CreateProcess를 사용하여 Windows 실행 파일을 시작하고 관리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!