![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
OnRestart , OnShutdown.. [D7, XP]
pasha star © (2007-03-07 18:06:00)как сделать, что бы прога определяла кто пытается её закрыть..?
Если пользователь, то прога идёт в трей, если OS, то прога вырубается..
RASkov (2007-03-07 20:05:00) [1]> [7] pasha star (07.03.07 19:59)
Помоему, будет достаточно:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caNone;
go_to_tray;
end;
Т.е. OnClose вместо OnCloseQuery....
pasha star (2007-03-07 19:59:00) [2]
> Rial © (07.03.07 19:21) [5]
>
> лови
> WM_QUERYENDSESSION
very very big thanks, now works perfectly !
Vlad Oshin (2007-03-07 19:38:00) [3]
> просто сделал прогу, что бы та шла в трей при нажатии на
> крестик.. а когда вырубаю виндозу или рестарт делаю.. то
> не shutdown, не restart наделаются, поскольку прога уходит
> в трей..
так и надо отрабатывать нажатие на крестик
однако пользователь может и CAD нажать, процесс грохнуть
может с панели задач убить, правой кнопкой и выбрать закрыть
В общем случае - наверное никак, хотя не утверждаю
отрабатывать нажатие на крестик : wm_syscommand + поисковик
Rial (2007-03-07 19:21:00) [4]лови
WM_QUERYENDSESSION
pasha star (2007-03-07 19:15:00) [5]яСНо
Amoeba (2007-03-07 19:10:00) [6]
> а когда вырубаю виндозу или рестарт делаю.. то не shutdown,
> не restart наделаются,
Слишком многого хочешь.
pasha star (2007-03-07 18:58:00) [7]просто сделал прогу, что бы та шла в трей при нажатии на крестик.. а когда вырубаю виндозу или рестарт делаю.. то не shutdown, не restart наделаются, поскольку прога уходит в трей..
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
go_to_tray;
CanClose:=false;
end;
Amoeba (2007-03-07 18:52:00) [8]
> pasha star (07.03.07 18:06)
>
> как сделать, что бы прога определяла кто пытается её закрыть.
> .?
Первый встречный вопрос: а какая цель преследуется?
IMHO, естественно, но как-то сомнительно, что что это вообще возможно.