Форум: "WinAPI";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];
ВнизОтловить завершение процесса Найти похожие ветки
← →
Алена (2005-06-22 18:02) [0]Я запускаю в цикле с помощью WinExec приложение с определенными условиями, мне необходимо отследить завершение первого шага (работа приложения), чтобы выполнить это-же приложение с другими условиями на втором, третьем .... шаге. Подскажите какой функцией воспользоваться или методом ?!?
← →
Smithson (2005-06-22 18:09) [1]Во-первый, WinExec - это прошлый век.
Во-вторых, если использовать что более современное (CreateProcess, например), то у него есть параметр lpProcessInformation, в котором есть handle главного окна запущенного приложения (ведь windows - оконная система). И вы можете просто ожидать становления этого handle "невалидным" - что эквивалетно завершению процесса. Ожидать можно, например, с помощью WaitFor или подобных функций (их в WinAPI много). Подробности - в помощи Deplhi, на MSDN или здесь.
← →
Игорь Шевченко © (2005-06-22 18:21) [2]Smithson (22.06.05 18:09) [1]
> Во-первый, WinExec - это прошлый век.
Он не черствеет, это не черный хлеб.
Алена (22.06.05 18:02)
> Подскажите какой функцией воспользоваться или методом ?!?
Например, ShellExecuteExprocedure TfMain.DumpFile(const FileName: string);
var
ShellInfo: TShellExecuteInfo;
ParamsString: string;
begin
ParamsString := Format("-em %s %s.aaa", [FileName, FileName]);
ShellInfo.cbSize := SizeOf(ShellInfo);
ShellInfo.fMask := SEE_MASK_NOCLOSEPROCESS;
ShellInfo.Wnd := Handle;
ShellInfo.lpVerb := "open";
ShellInfo.lpFile := "tdump";
ShellInfo.lpParameters := PChar(ParamsString);
ShellInfo.lpDirectory := nil;
ShellInfo.nShow := SW_SHOW;
if not ShellExecuteEx(@ShellInfo) then
RaiseLastWin32Error;
if ShellInfo.hProcess <> 0 then
try
WaitForSingleObjectEx(ShellInfo.hProcess, INFINITE, false);
//Дождались...
finally
CloseHandle(ShellInfo.hProcess);
end;
end;
← →
Гость2 (2005-07-01 11:37) [3]
> Игорь Шевченко © (22.06.05 18:21) [2]
Что надо добавить в Uses?
← →
alpet © (2005-07-01 11:42) [4]Гость2 (01.07.05 11:37) [3]
ShellApi
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.054 c