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

Вниз

Wait Process   Найти похожие ветки 

 
erik   (2001-11-15 23:35) [0]

У меня стандартная проблема надо отследить завершение родительской задачи.
//Start в главной задаче
ProcessID := GetCurrentProcessID;
ZeroMemory(@SI, SizeOf(SI));
SI.cb := SizeOf(SI);
SI.dwFlags := STARTF_USESHOWWINDOW;
SI.wShowWindow := SW_HIDE;

CmdParam := "Extractor.exe "+IntToStr(ProcessID)+" "+FileName;
if CreateProcess(nil,PChar(CmdParam), nil, nil, False,
DETACHED_PROCESS, nil, nil, SI, PI) then begin
CloseHandle(PI.hThread);
CloseHandle(PI.hProcess);
Application.Terminate;
end;
В дочерней задаче
ProcessID := StrToInt(ParamStr(1));
ProcessHandle := OpenProcess(PROCESS_SET_INFORMATION, false, ProcessID);
WaitForSingleObject(ProcessHandle, INFINITE);
Неждет!
Что не так?


 
paul_shmakov   (2001-11-16 11:30) [1]

так, скорее всего, родительский процесс уже успевает завершиться. и OpenProcess возвращает nil.


 
erik   (2001-11-16 13:59) [2]

Нет а Application.Terminate убирал и нехрена неработало!


 
erik   (2001-11-16 14:21) [3]

Если найдутся грамотные люди может быть подскажут как красиво получить ProcessID родителя? У меня возникло ужастное подозрение, что мой код неработает из за отсутствия SYNCHRONIZE or PROCESS_SET_INFORMATION в OpenProcess. Но SYNCHRONIZE неподерживается в 95-98!
Что делать? Неужели никто незнает!? Я системным програмированием почти незанимаюсь, все по базам данных. Так, что мне простительно незнание этого факта. Кто тут умный отзовись.


 
erik   (2001-11-16 16:57) [4]

Действительно OpenProcess возвращает ошибку. А что делать? Как мне
подождать завершения породившей задачи.


 
erik   (2001-11-16 19:25) [5]

Все парни несуетитесь. Я исправил в CreateProcess надо поставить CREATE_DEFAULT_ERROR_MODE! И все.



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

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

Наверх





Память: 0.76 MB
Время: 2.938 c
1-52591
Zabrodin_Lex
2001-12-27 12:37
2002.01.17
проблема с reset() в методе OBJECTа


14-52659
lel
2001-11-20 14:24
2002.01.17
Всем у кого траффик халявный качайте, посмейтесь


1-52553
Flagman
2001-12-28 12:14
2002.01.17
Спрятать курсор в TRichEdit


1-52530
навичек
2001-12-27 07:41
2002.01.17
Дурацкая пошаговая отладка :(


1-52540
vbazik
2001-12-23 16:44
2002.01.17
Графика, вставка с масштабированием





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский