Форум: "Начинающим";
Текущий архив: 2005.12.04;
Скачать: [xml.tar.bz2];
ВнизЖизнидеятельность приложений Найти похожие ветки
← →
voe (2005-11-15 16:01) [0]Каким образом моржно отследить жизнидеятельность программы.
Я запуская WinRar из своего приложения и мне надо отследить его жизнидеятельность. Подскажите пожалуста. Желательно по падробней.
← →
Leonid Troyanovsky © (2005-11-15 16:13) [1]
> voe (15.11.05 16:01)
> Я запуская WinRar из своего приложения и мне надо отследить
> его жизнидеятельность. Подскажите пожалуста. Желательно
> по падробней.
Большинство экспертов признают наиболее подробным
анализ по продуктам жизнедеятельности.
--
Regards, LVT.
← →
Digitman © (2005-11-15 16:40) [2]
> жизнидеятельность
определение термина - в студию !...
← →
alex_*** (2005-11-15 16:44) [3]натравить на него Spy++ например. и любоваться потоком сообщений
← →
Юрий Зотов © (2005-11-15 17:14) [4]Попробую потелепатить...
Запускаете WinRar через CreateProcess, потом вызывате WaitForSinfleObject. Как только управление вернется на следующий оператор - значит, WinRar завершился. А чтобы не возникало эффекта "зависания", нужно делать все это в отдельном потоке.
Итак, ключевые слова у Вас теперь есть, а примеров в Сети полно.
← →
wicked © (2005-11-16 00:31) [5]
> Запускаете WinRar через CreateProcess, потом вызывате WaitForSinfleObject.
> Как только управление вернется на следующий оператор -
> значит, WinRar завершился. А чтобы не возникало эффекта
> "зависания", нужно делать все это в отдельном потоке.
как еще один вариант, без потока - в цикле WaitForSingleObject на 200 мсек и проверять, чего он там вернул.... ну и Application.ProcessMessages само-собой....
← →
voe (2005-11-16 14:46) [6]А поподробней процикл или про поток можно?!
Очень нужно
← →
GuAV © (2005-11-16 15:50) [7]wicked © (16.11.05 0:31) [5]
> в цикле WaitForSingleObject на 200 мсек и проверять,
> чего он там вернул.... ну и
> Application.ProcessMessages само-собой....
Тогда уже MsgWaitForMultipleObjects .
← →
Хинт © (2005-11-16 16:02) [8]var
si:STARTUPINFO;
pi:PROCESS_INFORMATION;
cmdline:string;
begin
ZeroMemory(@si,sizeof(si));
si.cb:=SizeOf(si);
cmdline:="C:\my.exe";
if not CreateProcess(nil, PChar(cmdline), nil, nil, False, 0, nil, nil, si, pi) then
begin
...
end;
WaitForSingleObject( pi.hProcess, INFINITE );
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
end;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.12.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.032 c