Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как можно перезапустить самого себя? [D6, WinXP]


Yuri Btr ©   (2002-07-31 10:21:00) 

Ув. мастера, нужно в результате некоторых действий в программе, произвести её перезапуск.


Yuri Btr   (2002-08-09 16:59:00) [1]

to Opuhshii ©
Это что прописать что то типа
ExitProc(@Start("myprogram.exe"))

а в Start("myprogram.exe") забить
ShellExecute(...,Application.ExeName,..)
но так можно сделать и в MainForm.OnDestroy, или нет?


Opuhshii   (2002-08-09 15:17:00) [2]

ExitProc есть такое,...


Andrey2   (2002-08-09 14:38:00) [3]

Делай так:
При запуске приложения копируй её exeшник в и в процедуруе terminate запускай её копию .


Yuri Btr   (2002-07-31 11:21:00) [4]

Да, спасибо, я это уже всё сделал. Я полагал, что есть какие нибудь функции WinApi например запуск второго процесса по завершении первого или что нибудь подобное...
Спасибо.


Alx2   (2002-07-31 10:55:00) [5]

Напиши еще одну программу, которая по команде запустит то что надо.


Внук   (2002-07-31 10:53:00) [6]

Кто же в таком случае будет его запускать - ОС по собственной инициативе?
Imho, придется сначала запускать вторую копию, которая первым делом закрывает первую копию, дожидаясь ее заверешения


Yuri Btr   (2002-07-31 10:35:00) [7]

to Внук ©
Естественно НЕТ :-)


Yuri Btr   (2002-07-31 10:33:00) [8]

to Внук ©
Естественно.
Просто нужно переинициализировать приложение. Закрыть программу, а затем запустить. (Желательно не создавать вторую копию программу, вместе с закрытием первой)


Внук   (2002-07-31 10:28:00) [9]

Без перезагрузки ОС?


Наверх

Титульная страница Поиск, карта сайта Написать письмо