Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];




Вниз

ShellExecute ? 


Yuriy   (2001-11-25 22:13) [0]

С помощью ShellExecute запускаю некую прогу, скажем архиватор, как узнать, что она закончила свою работу? Нужно узнать время прошедшее с начала архивации до ее завершения



Fellomena   (2001-11-26 15:55) [1]

Если запускаешь с помощью ShellExecute, то никак - ShellExecute просто запускает процесс, не "зная" о нём ничего.
Используй CreateProcess, с его помощью можно отслеживать окончание работы запущенных процессов.



Romkin   (2001-11-26 16:34) [2]

Как не знает???
Возвращаемое значение - instance handle, поэтому можно использовать
WaitForSingleObject|MsgWaitForSingleObject на результат
Можно и использовать ShellExecuteEx, там HINSTANCE в структуре



handra   (2001-11-26 18:41) [3]


unit exec;

interface

function ExecAndWait(const fname,params: string; nShowCmd: Cardinal): boolean;

implementation

uses Windows, ShellAPI, Forms;

function ExecAndWait(const fname,params: string; nShowCmd: Cardinal): boolean;
var data: TShellExecuteInfo;
begin
Result := false;
data.cbSize := sizeof(data);
data.fMask := SEE_MASK_DOENVSUBST or SEE_MASK_NOCLOSEPROCESS;
data.Wnd := 0;
data.lpVerb := nil;
data.lpFile := PChar(fname);
data.lpParameters := PChar(params);
data.lpDirectory := nil;
data.nShow := nShowCmd;
ShellExecuteEx(@data);
while true do begin
Application.ProcessMessages;
case WaitForSingleObject(data.hProcess,100) of
WAIT_FAILED: Result := false;
WAIT_OBJECT_0: Result := true;
else continue;
end;
break;
end;
end;

end.




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.024 c
1-90315           Shein                 2002-01-11 10:19  2002.01.28  
Есть проблемка с оболочкой Дельфей


3-90240           Катерина              2001-12-22 11:05  2002.01.28  
проблемка


1-90266           Dreamer               2002-01-09 22:19  2002.01.28  
Нужно ниспадающее окошко с хелпом при зависании над каким-либо обьектом,


1-90314           Teapot                2002-01-08 14:30  2002.01.28  
Печать на матричный принтер


7-90401           l@z@                  2001-10-14 22:31  2002.01.28  
люди помогите! Форма, на ней поле ввода и лебел. Кнопка. нажимаем на кнопку