KolyaN |
Отправлено: 26.09.2003, 02:27 |
|
Не зарегистрирован
|
Из моей программы с помощью функции ShellExecute() запускается редактор, например Word, и в нем открывается документ. Необходимо по закрытию запущенного редактора выполнить некое действие. Подскажите как можно отловить момент закрытия. |
|
Borgir |
Отправлено: 26.09.2003, 06:16 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 48
|
Хороший кстати вопрос. Самое тупое и простое решение, которое пришло мне на ум — это запустить таймер и проверять им открыт Ворд или нет. Потому что как ловить события Ворда я не знаю. |
|
Георгий |
Отправлено: 26.09.2003, 08:22 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
а причём тут сигналы?
Можно сделать свой поток, который выполняет запуск нужной программы с ожиданием завершения, и как только запущенная программа завершится, он устанавливает какой-нибудь признак, что программа успешно (не успешно) отработала.
Запуск программы с ожиданием завершения точно умеет делать spawn**, а для shellexecute, наверное, придётся сделать так — вызывать не функцию shellexecute, а программу start. |
|
Admin |
Отправлено: 26.09.2003, 10:35 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
Наверное лучше запустить Word не по ShellExecute().
а через CreateProcess():
Запускайте не через ShellExecute(), а через CreateProcess() завершаете ExitProcess(), узнать о завершении можно GetExitCodeProcess()
|
|