Главная страница
    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.45 MB
Время: 0.035 c
14-1089375182
Евген
2004-07-09 16:13
2004.08.01
как найти програмиста


4-1087471753
NorthMan
2004-06-17 15:29
2004.08.01
Окно поверх панели задач


1-1090323026
infom
2004-07-20 15:30
2004.08.01
Как вычислить текущий год обучения


14-1089728469
vecna
2004-07-13 18:21
2004.08.01
МТС


3-1089185041
Sergey Vorobyev
2004-07-07 11:24
2004.08.01
Не открывается локальная БД Interbase из сервиса, почему?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский