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

Вниз

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

 
ironwit ©   (2002-12-25 18:14) [0]

и подождать пока он отработает.


 
Reindeer Moss Eater   (2002-12-25 18:25) [1]

Из FAR"а никогда ничего не запускал?
Это консольное приложение


 
bugs   (2002-12-25 18:28) [2]

createprocess, waitforsingleobject ?


 
ironwit ©   (2002-12-25 18:30) [3]

2Reindeer Moss Eater
из своей программы написанной на дельфи


 
Reindeer Moss Eater   (2002-12-25 18:36) [4]

2 ironwit ©
Ты намека не понял.
Может ли консольное приложение запускать bat-файлы?
FAR - консольное приложение, которое прекрасно запускает bat файлы и не только их.
Отсюда делаем вывод, что и твоя консольная программа сможет это делать.


 
Юрий Зотов ©   (2002-12-25 20:30) [5]

> ironwit

Консольному приложению тоже доступны все функции API. В том числе, CreateProcess и WaitForSingleObject.


 
ironwit ©   (2002-12-26 09:45) [6]

всем спасибо, вот итоговый код

function EXECAndWAIT(const FileName, Params: ShortString; const WinState: Word): boolean;
var
StartInfo: TStartupInfo;
ProcInfo: TProcessInformation;
begin
{ Put the name of file between quotes, due to spaces in names of files in system Win9x }
FillChar(StartInfo, SizeOf(StartInfo), #0);
with StartInfo do
begin
cb := SizeOf(StartInfo);
dwFlags := STARTF_USESHOWWINDOW;
wShowWindow := WinState;
end;
Result := CreateProcess(nil,pchar(string(Filename+" "+Params)), nil, nil, false,
CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil,
nil,StartInfo,ProcInfo);
{ WAIT the finish of program }
if Result then
begin
WAITForSingleObject(ProcInfo.hProcess, INFINITE);
{ Free the Handles }
CloseHandle(ProcInfo.hProcess);
CloseHandle(ProcInfo.hThread);
end;
end;


 
Юрий Зотов ©   (2002-12-26 09:57) [7]

1. NORMAL_PRIORITY_CLASS - лишнее. По умолчанию то же самое.

2. Я бы немного изменил порядок, так будет получше:

if Result then
begin
CloseHandle(ProcInfo.hThread);
WaitForSingleObject(ProcInfo.hProcess, INFINITE);
CloseHandle(ProcInfo.hProcess);
end;


 
ironwit ©   (2002-12-26 10:00) [8]

10х
попробую



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

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

Наверх




Память: 0.48 MB
Время: 0.016 c
3-24802
Денис
2002-12-15 18:54
2003.01.09
Delphi + TImage и MSSQL + image


1-24947
karros
2002-12-26 16:27
2003.01.09
добавить пункт в поп-ап меню


3-24821
Roki
2002-12-17 09:43
2003.01.09
Преобразование даты!


14-25093
Cobalt
2002-12-21 14:31
2003.01.09
Кто юзает Оперу, подскажите - забыл, где это делается


3-24790
Борис
2002-12-16 16:22
2003.01.09
Как в переменную загнать значение IB генератора