Страница 1 из 1

Кто закрывает программу (окно)?

Добавлено: 13 мар 2007, 16:13
isms.ru
в CloseQuery спрашиваю, действительно ли юзер хочет завершить прогу?
Если да, то завершаю, если нет, то не завершаю.
Но если винда идет на перезагрузку. например, то также выскакивает этот вопрос и далее "программа не отвечает " и т.д.

Т.е. надо определить, кто пытается завершить прогу: юзер или винда.

А вот как это сделать?

Re: Кто закрывает программу (окно)?

Добавлено: 13 мар 2007, 16:38
Absurd
Перед перезагрузкой винда посылает в главное окно приложения WM_QUERYENDSESSION. Если приложение его игнорирует, то винда посылает WM_CLOSE. Если приложение продолжает молчать, то тогда видимо следует диалог и TerminateProcess()

Re: Кто закрывает программу (окно)?

Добавлено: 25 ноя 2007, 00:38
alex@net
запиши в closequery формы
begin
if cds.changecount>0 then
begin
case messagedlg('yes','no',mtclose,mbnocancel,0) of
mryes:close.execute;
mrno:cds.cancelupdates;
end;
end;
end;

Re: Кто закрывает программу (окно)?

Добавлено: 27 ноя 2007, 16:05
Игорь Акопян
alex@net, что за бред написан? пока наблюдаю... впоследствии буду такие посты удалять нафик