![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Собственно, как запустить чужое приложение, но не exe'шник, а bat'ник. Все ветки в форуме по данному вопросу прочел. Пробовал и WinExec, и ShellExecute и JvCreateProcess, но толку ноль. Проблема имхо в батнике.
Вот как я запускаю батник из Delphi: Код:
if WinExec(PChar(gvFilenameStrah), sw_show) < 32 then ShowMessage('Ошибка'); Вот что из себя представляет батник: Код:
@echo off cls ReplCmd -db:"Local_РО" -u:LOGIN -p:PASSWORD -dlg:N -f:imp_strah_bog.log -prof:"страх" -i:3 -cmnt:"страх РО" rem Del /q c:\imp\strah\*.* Т.е. получается вот что: из дельфи данный батник не запускается, а к примеру, из того же FARа (т.е. просто из под винды) вполне себе отлично запускается? Что делать-то? Как эту гадость из дельфи запустить? ![]() p.s. Причем надо не просто запустить, а дождаться завершения выполнения данного батника, и только потом продолжить выполнение моего приложения. Последний раз редактировалось ZevsTula, 25.09.2008 в 15:24. |
#2
|
|||
|
|||
![]() Не знаю как ты там запускал, но код
Код:
var AFile: String; begin AFile := 'C:\bat.bat'; ShellExecute(0, 'Open', PChar(AFile), nil, nil, SW_HIDE); ShowMessage('Ok!'); end; |
#3
|
|||
|
|||
![]() Вот тебе кусок из работающей проги... у меня там в батниках arj -ем архивируются файлы определенные, но и с запуском все то же будет...
BatFiles - это просто список имен bat-файлов Код:
var stin: STARTUPINFO; prin: PROCESS_INFORMATION; ************************************************************************ stin.lpTitle := PChar('Формируется транспортный файл '+filename + ' Запущен '+ BatFiles[i]); stin.wShowWindow := SW_HIDE; stin.dwFlags := STARTF_USESHOWWINDOW; CreateProcess(nil,PChar(BatFiles[i]),nil,nil,false,0,nil,'G:\CLIENT\out\',stin,prin); WaitForSingleObject(prin.hProcess,INFINITE); //ждем завершения архивации Последний раз редактировалось xchrom, 25.09.2008 в 17:18. |
#4
|
|||
|
|||
![]() Вопрос снят. Всем спасибо за советы. Проблема была в том, что я забыл флаг FORCE_ON_FEEDBACK.
|