문제
쉘 기능을 사용하여 열 때 응용 프로그램 핸들에 유의합니다. 그런 다음 해당 핸들을 사용하여 나중에 응용 프로그램을 닫습니다. 그러나 사용자는 다른 응용 프로그램을 직접 닫을 수 있습니다. 그런 다음 해당 핸들을 Windows로 재사용하여 해당 핸들을 사용할 때 다른 프로세스를 닫습니다. 가능하다면 가능성이 있습니까?
해결책
아니요, 걱정할 필요가 없습니다. 핸들은 OpenProcess, ShellexEcuteex () 또는 CreateProcess에 의해 반환되면 프로세스 객체를 살리게합니다. 이것이 프로세스가 종료 된 후 출구 코드를 검색하기 위해 getExitcodeProcess ()를 호출 할 수있는 방법입니다.
마지막 핸들이 닫힐 때까지 객체가 해제되지 않습니다. 이 스레드에서 주어진 이전 조언과는 반대로 CloseHandle ()을 호출하거나 누출이 발생하는 것이 매우 중요합니다.
다른 팁
프로세스 핸들을 기다리면 종료시기를 파악할 수 있습니다.
WaitforsingleObject (HProcess, Infinite);
이것이 반환되면, 당신은 프로세스가 종료되었다는 것을 알고 당신은 그것을 닫을 필요가 없습니다.
제휴하지 않습니다 StackOverflow