Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.08.26;
Скачать: [xml.tar.bz2];

Вниз

Как дождатся конца работы проги, запущенной через ShellExecutе   Найти похожие ветки 

 
kerkonst   (2002-08-15 11:02) [0]

На моем рабочем компьютере Delphi установлена без Shared Files,
соответственно, help-а по ShellExecutе нет. И с такой проблемой я раньше не сталкивался. А инфа нужна сегодня, сейчас...

Как дождатся конца работы проги, запущенной через ShellExecutе ?

Можно конечно поставить кучу ProcessMessages, но это есть неправильно...


 
Ученик   (2002-08-15 11:15) [1]

Из Project JEDI Code Library (JCL)

function ShellExecAndWait(const FileName: string; const Parameters: string;
const Verb: string; CmdShow: Integer): Boolean;
var
Sei: TShellExecuteInfo;
Res: LongBool;
Msg: tagMSG;

begin
FillChar(Sei, SizeOf(Sei), #0);
Sei.cbSize := SizeOf(Sei);
Sei.fMask := SEE_MASK_DOENVSUBST or SEE_MASK_FLAG_NO_UI or SEE_MASK_NOCLOSEPROCESS or
SEE_MASK_FLAG_DDEWAIT;
Sei.lpFile := PChar(FileName);
Sei.lpParameters := PCharOrNil(Parameters);
Sei.lpVerb := PCharOrNil(Verb);
Sei.nShow := CmdShow;
Result := ShellExecuteEx(@Sei);
if Result then
begin
WaitForInputIdle(Sei.hProcess, INFINITE);
while (WaitForSingleObject(Sei.hProcess, 10) = WAIT_TIMEOUT) do
begin
repeat
Res := PeekMessage(Msg, Sei.Wnd, 0, 0, PM_REMOVE);
if Res then
begin
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
until (Res = False);
end;
CloseHandle(Sei.hProcess);
end;
end;


 
kerkonst   (2002-08-15 11:58) [2]

Big thanks...



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

Форум: "Основная";
Текущий архив: 2002.08.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.007 c
1-85065
dmtr
2002-08-14 12:37
2002.08.26
Windows 2000 Advanced Server


14-85221
AL2002
2002-07-31 13:24
2002.08.26
Есть ли исходник конвертера саунд-форматов?


14-85207
гончий
2002-07-31 13:59
2002.08.26
Господа, как законнектить ICQ днем?!


4-85287
Igit
2002-06-20 15:36
2002.08.26
Ипользование потоков


1-84955
Strumpf
2002-08-13 21:55
2002.08.26
Мерцание кнопок на тулбаре





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский