Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

можно ли запустить bat файл из консольного приложения [D5, D7, NT4]


ironwit ©   (2002-12-25 18:14:00) 

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


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

10х
попробую


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

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

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

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


ironwit   (2002-12-26 09:45:00) [3]

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

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-25 20:30:00) [4]

> ironwit

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


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

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


ironwit   (2002-12-25 18:30:00) [6]

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


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

createprocess, waitforsingleobject ?


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо