Вы сказали, что у вас есть tomaonitor "некоторые специфические процессы". Если ваше приложение запустило процессы, вы можете извлечь дескрипторы процесса из структуры PROCESS_INFORMATION (поле hProcess), которую вы передали в функцию CreateProcess. Если процесс, который вы хотите отслеживать, был запущен каким-то другим способом, вам нужен идентификатор процесса (PID) и использовать его в качестве третьего аргумента OpenProcess для получения дескриптора. Таким образом, вы можете использовать функции WaitForSingleObject или WaitForMultipleObjects для ожидания завершения процесса. При желании вы можете получить код завершения процесса с помощью функции GetExitCodeProcess.
Существуют и другие способы, с помощью которых приложение может запустить новый процесс (например, с помощью функции библиотеки _system ()), но я настоятельно рекомендую использовать CreateProcess непосредственно в вашем коде, поскольку вы можете полностью контролировать поведение дочернего процесса (например, вы можете выберите приоритет, передайте маркеры stdin / stdout / stderr, определите характеристики окна запуска ...).
Предлагаемый пример:
http://msdn.microsoft.com/en-us/library/ms682512%28VS.85%29.aspx