Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.01;
Скачать: CL | DM;

Вниз

почему bat файл не запускаеться ?   Найти похожие ветки 

 
Dysan ©   (2004-07-20 17:33) [0]

пробую из делфи запустить bat файл.
и он не выполняеться :(
bat-файл такого содержания: showcat >catalog
запускаю так: WinExec("c:\b.bat",SW_show);


 
Fay ©   (2004-07-20 17:41) [1]

"cmd c:\b.bat"


 
Anatoly Podgoretsky ©   (2004-07-20 17:47) [2]

Говорили же не использовать функции из Win 3.1


 
Dysan ©   (2004-07-20 17:54) [3]

на самом деле я использую вот эту процедуру
для ожидания завершения процесса:
//-------------------------------------------------------------
function WinExecAndWait32(FileName:String; Visibility : integer):integer;
var
zAppName:array[0..512] of char;
zCurDir:array[0..255] of char;
WorkDir:String;
StartupInfo:TStartupInfo;
ProcessInfo:TProcessInformation;
begin

StrPCopy(zAppName,FileName);
GetDir(0,WorkDir);
StrPCopy(zCurDir,WorkDir);
FillChar(StartupInfo,Sizeof(StartupInfo),#0);
StartupInfo.cb := Sizeof(StartupInfo);

StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := Visibility;
if not CreateProcess(nil,
zAppName,                      { указатель командной строки }
nil,                           { указатель на процесс атрибутов безопасности }
nil,                           { указатель на поток атрибутов безопасности }
false,                         { флаг родительского обработчика }
CREATE_NEW_CONSOLE or          { флаг создания }
NORMAL_PRIORITY_CLASS,
nil,                           { указатель на новую среду процесса }
nil,                           { указатель на имя текущей директории }
StartupInfo,                   { указатель на STARTUPINFO }
ProcessInfo) then Result := -1 { указатель на PROCESS_INF }

else begin
WaitforSingleObject(ProcessInfo.hProcess,INFINITE);
end;
end;
//-------------------------------------------------------------
но она при запуске "cmd c:\b.bat"
запускает только "cmd" без выполнения bat-файла :(


 
Anatoly Podgoretsky ©   (2004-07-20 17:59) [4]

Это другое дело, а в примере привел WinExec - будь аккуратнее, если хочешь правильные ответы получать.
БАТ файт это не программа, а данные для командного процессора, поэтому надо получить имя и путь и запускать его с параметром твой бат файл.


 
just   (2004-07-20 18:16) [5]

Например:

str:="d:\1.bat"
ShellExecute(Handle,"open",pChar(str),"","",SW_SHOWNORMAL);



Страницы: 1 вся ветка

Текущий архив: 2004.08.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.048 c
10-1025241119
Nikols
2002-06-28 09:11
2004.08.01
Работает только на разных машинах...


14-1089833539
Opilki_Inside
2004-07-14 23:32
2004.08.01
Могут ли студенты работать полный рабочий день?


3-1089375927
Sergey_
2004-07-09 16:25
2004.08.01
Время из TimeStamp


1-1089903571
Виталий
2004-07-15 18:59
2004.08.01
Процедура


3-1089030444
ligor
2004-07-05 16:27
2004.08.01
SQL-расширения IB 1.5