![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Процессы
zxas © (2002-09-02 14:01:00)Вот такой вопрос (просьба отвечать содержательно):
Есть процесс. Когда пользователь его убивает, надо создать новый процесс, передать данные старого процесса новому и запустить новый процесс. Знаю что надо использовать CreateProcess, но нужно поподробнее расписать как и что делать. Можно даже привести кусок кода. Предлагать по-другому не дать юзеру убить процесс не надо.
Заранее благодарен
R_F$29{n}xp (2002-09-07 11:01:00) [1]Народ у меня такая же проблемка! OnClose не сработает когда убивают процесс! Делать второй процесс, который следит за приложением - по таймеру что-ли? А то если постояннол будет проверять тормоза будут. И вообще можете поподробней написать код или часть его.
zxas (2002-09-07 01:10:00) [2]Что значит какие данные. Все данные принадлежацие процессу в сегменте данных которые находятся. Т е сделать полную копию убитого процесса.
Malder (2002-09-03 02:27:00) [3]zxas, для запуска новой копии приложения в событии формы OnClose пиши
winexec(Appication.exename);
А вот насчет передать данные... смотря какие данные ты хочешь передавать...
QuickeneR (2002-09-02 20:37:00) [4]>Asteroid
Если основное время процессы будут проводить внутри WaitForSingleEvent, то прой грузится не будет.
Asteroid (2002-09-02 14:51:00) [5]> Antonius © (02.09.02 14:48)
Получится, куда ж он денется :) Только это уже типа нехорошей проги, грузящей проц и не дающей юзеру работать, т.н. WinGlucker :))
Antonius (2002-09-02 14:48:00) [6]процесс может и не знать, что его убивают. Кончина наступит неожиданно :) нужен еще один процесс, который будет следить за первым, и в случае его кончины - запускать повторно. Но злой (и продвинутый) юзер может убить сначала 2-ой процесс, а затем 1-ый. Поэтому нужен 3-ий - пусть следит за вторым, а заодно и за первым до кучи :).
Хотя.... достаточно что-бы 1-ый следил за вторым, а второй за первым. Думаю получиться :)
Asteroid (2002-09-02 14:45:00) [7]А слабо использовать WinExec или ShellExecute?
Вроде этого:
...
procedure TForm1.Destroy( Sender: TObject );
begin
WinExec( "<filename+parm>", SW_SHOW );
end;
...