Синхронизация процессов
От: PVN Россия  
Дата: 18.11.06 09:11
Оценка:
Задача казалась типичной — автоматическое обновление и рестарт программы:
Алгоритм следующий:
1. Программа выявляет необходимость обновления и запускает вспомательную программу синхронизации autoupg.exe.
2. Эта вспомогательная программа является средсвом синхронизации: ждет, когда завершится основная программа, создает процесс для запуска setup.exe от имени пользователя, имеющего такие права(функция CreateprocessWithLogonW), ждет завершения обновления(WaitForSingleObject), проверяет результат обновления через реестр и осуществляет рестарт основной программы.
Все было бы хорошо, если бы setup.exe не создавл еще одного процесса — в результате рестарт начинается до обновления программы.
Вопрос в следующем — как получить handle этого процесса?
Попытка использовать EnumProcess — OpenPrpcess оказалась неудачной — отказано в доступе.
Setup чужой, вставить в него что-то типа Event не могу.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.