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

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



Память: 0.46 MB
Время: 0.01 c
14-25010
Ru
2002-12-19 13:36
2003.01.09
Милиция


1-24895
бред
2002-12-25 19:46
2003.01.09
новый компонент ошибку дает


14-25083
nick_vstu
2002-12-19 11:58
2003.01.09
Как отключить обработку исключительних ситуаций в IDE Delphi 7?


1-24842
Masa
2002-12-26 14:02
2003.01.09
Как програмно удалить с формы лаблы, кнопки и т.д. ?


14-25068
Chizh
2002-12-17 16:42
2003.01.09
Начало




   Наверх