Главная страница
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.316 c
3-1089260339
Litr
2004-07-08 08:18
2004.08.01
ODBC и Jet 4.0


4-1087494991
miwa
2004-06-17 21:56
2004.08.01
SHFileOperation - Cannot read from the source file or disk


4-1087995049
Samael6
2004-06-23 16:50
2004.08.01
Хук на закрытие и свертывание окна


3-1089182014
Rusty
2004-07-07 10:33
2004.08.01
Как определить: существует ли таблица в базе Access?


3-1089200786
stud
2004-07-07 15:46
2004.08.01
программное добавление юзеров и прав