Вопрос

Я отмечаю дескриптор приложения, когда использую функцию оболочки, чтобы открыть его. Затем я использую этот дескриптор, чтобы закрыть приложение позже. Однако пользователь также может сам закрыть это другое приложение. Может ли этот дескриптор затем повторно использоваться окнами, чтобы при его использовании я закрывал другой процесс. Если это возможно, возможно ли это?

Это было полезно?

Решение

Нет, вам не нужно беспокоиться об этом. Дескриптор, возвращаемый, скажем, OpenProcess, ShellExecuteEx () или CreateProcess поддерживает объект процесса живым. Вот как можно вызывать GetExitCodeProcess () для получения кода завершения после завершения процесса.

Объект не освобождается, пока последний дескриптор на нем не будет закрыт. В противоположность предыдущему совету, данному в этой теме, очень важно, чтобы вы вызвали CloseHandle (), иначе у вас будет утечка.

Другие советы

Вы можете подождать дескриптор процесса, чтобы выяснить, когда он завершается.

WaitForSingleObject (hProcess, INFINITE);

После этого вы знаете, что процесс завершен, и вам не нужно его закрывать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top