Главная страница
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.025 c
14-1089718358
syte_ser78
2004-07-13 15:32
2004.08.01
исходники DBTreeView


14-1089951401
КаПиБаРа
2004-07-16 08:16
2004.08.01
Щас маненько еще поработаю и в отпуск


1-1090229136
Turbid
2004-07-19 13:25
2004.08.01
Сортировка в StringGrid


14-1089875489
syte_ser78
2004-07-15 11:11
2004.08.01
Страшные сны. Может кто расшифрует?


14-1089961041
Ricks
2004-07-16 10:57
2004.08.01
Использование ИК порта от ТВ Тюнера