В MFC я использую этот код
ShellExecute(NULL, _T("open"), _T(EXTERNAL_APP), params,
_T(EXTERNAL_PATH), SW_HIDE);
запустить внешнюю программу, которая работает в фоновом режиме.
Однако, когда мое приложение закрывается, эта программа все еще работает, что можно проверить, просмотрев панель диспетчера задач Windows.
Итак, мой вопрос, как я могу остановить внешнюю программу, когда мое приложение останавливается ?
Пытаться ShellExecuteEx
вместо этого, который может вернуть HANDLE hProcess
недавно начавшегося процесса.
Когда / если у вас есть HANDLE hProcess
тогда я ожидаю, что вы можете передать его в качестве параметра TerminateProcess
функция: которую вы вызываете (чтобы завершить дочерний процесс) до остановки вашего приложения.
Других решений пока нет …