| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > ShellExecute как узнать закрылся ли вызванный файл |
| Автор: onlyI 13.3.2009, 15:54 |
| Здравствуйте. Помогите пож-ста. ShellExecute вызывает start.bat, который работает достаточно долго (от 1-3сек - до ...). Как узнать, что exeшник закрылся, чтобы прочитать файл .txt, который получается в результате работы этого exeшника??? А то у меня получается exeшник еще не закрылся, а программа лезет читать .txt, которого еще нету(( ShellExecute(NULL,"open","C:\\start.exe", NULL, SW_SHOWNORMAL); ReadFile("... .txt"); Сделать Sleep(1000); (ну или другое число) не катит, вдруг долго, или не хватит. ПыЗы: надеюсь понятна моя проблема. |
| Автор: azesmcar 13.3.2009, 16:01 |
| найди процесс и сделай WaitForSingleObject |
| Автор: GremlinProg 13.3.2009, 22:45 |
| вместо ShellExecute вызывай ShellExecuteEx в параметре SHELLEXECUTEINFO::hProcess хранится дескриптор запущенного процесса его и надо ожидать перед чтением файла |