![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 13.03.2009
Сообщений: 1
|
![]()
Здравствуйте. Помогите пож-ста.
ShellExecute вызывает start.bat, который работает достаточно долго (от 1-3сек - до ...). Как узнать, что exeшник закрылся, чтобы прочитать файл .txt, который получается в результате работы этого exeшника??? А то у меня получается exeшник еще не закрылся, а программа лезет читать .txt, которого еще нету ![]() ShellExecute(NULL,"open","C:\\start .exe", NULL, SW_SHOWNORMAL); ReadFile("... .txt"); Сделать Sleep(1000); (ну или другое число) не катит, вдруг долго, или не хватит. ПыЗы: надеюсь понятна моя проблема. |
![]() |
![]() |
![]() |
#2 |
Тупой студент
Форумчанин
Регистрация: 12.05.2007
Сообщений: 614
|
![]()
ну либо используй Sleep(5000) - твоя прога будет ждать 5 секунд.
либо используй функцию для запуска процесса CreateProcess, получишь дескриптор созданного процесса, и с помощью функции WaitForSingleObject ожидаешь, пока процесс завершится. |
![]() |
![]() |
![]() |
#3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Есть еще вариант мониторить процессы через модуль ToolHelp32 в таймере. Если процесс незапущен то мона считывать.
I'm learning to live...
|
![]() |
![]() |
![]() |
#4 |
Тупой студент
Форумчанин
Регистрация: 12.05.2007
Сообщений: 614
|
![]()
2Stilet ну это совсем изврат) еще есть вариант постоянно запускать CreateFile, и ждать, пока он вернет НЕ ошибку, но это тоже не тру
![]() пс. тем более, при запуске бата процесс будет ntldr (или cmd). так то полюбому не катит) |
![]() |
![]() |
![]() |
#5 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
НАсчет изврата - в безвыходной ситуации все средства хороши, если они дают результат с оптимальным процессом ![]()
I'm learning to live...
|
||
![]() |
![]() |
![]() |
#6 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
![]()
еще вариант запустить цикл, ограничив его максимальным кол-вом повторений, а в цикле делать проверку FileExists()
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
shellExecute | GAGARIN-NEW | Общие вопросы Delphi | 3 | 18.10.2008 12:04 |
ShellExecute | Zeraim | Общие вопросы Delphi | 1 | 07.05.2008 17:02 |
ShellExecute | SNUPY | Общие вопросы Delphi | 4 | 19.02.2008 22:59 |
ShellExecute | Volkogriz | Общие вопросы Delphi | 4 | 31.10.2007 13:33 |
ShellExecute | doncova1 | БД в Delphi | 4 | 29.11.2006 18:20 |