|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.03.2009, 15:37 | #1 |
Новичок
Джуниор
Регистрация: 13.03.2009
Сообщений: 1
|
ShellExecute помогите
Здравствуйте. Помогите пож-ста.
ShellExecute вызывает start.bat, который работает достаточно долго (от 1-3сек - до ...). Как узнать, что exeшник закрылся, чтобы прочитать файл .txt, который получается в результате работы этого exeшника??? А то у меня получается exeшник еще не закрылся, а программа лезет читать .txt, которого еще нету(( ShellExecute(NULL,"open","C:\\start .exe", NULL, SW_SHOWNORMAL); ReadFile("... .txt"); Сделать Sleep(1000); (ну или другое число) не катит, вдруг долго, или не хватит. ПыЗы: надеюсь понятна моя проблема. |
13.03.2009, 15:44 | #2 |
Тупой студент
Форумчанин
Регистрация: 12.05.2007
Сообщений: 614
|
ну либо используй Sleep(5000) - твоя прога будет ждать 5 секунд.
либо используй функцию для запуска процесса CreateProcess, получишь дескриптор созданного процесса, и с помощью функции WaitForSingleObject ожидаешь, пока процесс завершится. |
13.03.2009, 16:05 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Есть еще вариант мониторить процессы через модуль ToolHelp32 в таймере. Если процесс незапущен то мона считывать.
I'm learning to live...
|
13.03.2009, 16:06 | #4 |
Тупой студент
Форумчанин
Регистрация: 12.05.2007
Сообщений: 614
|
2Stilet ну это совсем изврат) еще есть вариант постоянно запускать CreateFile, и ждать, пока он вернет НЕ ошибку, но это тоже не тру
пс. тем более, при запуске бата процесс будет ntldr (или cmd). так то полюбому не катит) |
13.03.2009, 16:26 | #5 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
НАсчет изврата - в безвыходной ситуации все средства хороши, если они дают результат с оптимальным процессом
I'm learning to live...
|
||
19.03.2009, 15:24 | #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 |