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()
|
 |