Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
1-1089872424
Amid
2004-07-15 10:20
2004.08.01
Помогите !!!!! В процедуре Execute не работает Memo1.Lines.Add()


8-1084811635
killer
2004-05-17 20:33
2004.08.01
Подскажите как в Jpg-фотографию вставить exe-файл?


3-1089093227
MVA
2004-07-06 09:53
2004.08.01
Grid


1-1090397282
Bacuc
2004-07-21 12:08
2004.08.01
Мелькание MDIChild формы


1-1090223846
DDDeN
2004-07-19 11:57
2004.08.01
Сложение даты/времени




   Наверх