XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Общение> Hard & Soft
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
ELForcer
Сижу only Hard & Soft
offline
Опыт: 1,593
Активность:
Запрет на закрытие программы в Delphi 7 для Windows 7.
Возникла необходимость запретить закрытие программы пока не выполнится до конца процедура.

Немного покопал в Инете, нашёл про процедуры в формах "OnClose, OnCloseQuery" (они действуют только на форму но не на всю программу), скрытие красного крестика, след код

Код:
DeleteMenu(GetSystemMenu(Handle, false), SC_CLOSE, MF_BYCOMMAND);


который должен как бы скрыть кнопнку "Закрыть" в панели задач.
Крестик сделать неактивным удаётся, но в 7ке кнопка "Закрыть" остается активной и при на неё нажатии программа закрывается.

Как можно полностью заблокировать закрытие программы? (Оставить убивать процесс через диспетчер задач естественно оставить).
Старый 19.09.2012, 10:07
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
событие onclose у формы там актион ставишь на ноне и все будет норм
Старый 19.09.2012, 10:39
ELForcer
Сижу only Hard & Soft
offline
Опыт: 1,593
Активность:
alexprey, это не помогает как я сказал выше, по крайней мере для Win7. Это блокирует лишь закрытие крестиком, но не через панель задач "Закрыть окно".
Старый 19.09.2012, 17:05
ScorpioT1000
Работаем
online
Опыт: отключен
Выключи non-client area
Старый 19.09.2012, 17:11
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
ELForcer, у меня все канает.
Старый 19.09.2012, 17:26
adic3x

offline
Опыт: 108,439
Активность:
При создании окна в классе указать CS_NOCLOSE ?
ADOLF добавил:
При попытке закрыть окно посылается сообщение WM_CLOSE, которое и должно подхватывать делфями как onclose (насколько я понимаю) ? И неважно, крестик нажат и контекстное меню на таскбаре.
Старый 20.09.2012, 01:28
ELForcer
Сижу only Hard & Soft
offline
Опыт: 1,593
Активность:
Цитата:
Сообщение от ScorpioT1000
Выключи non-client area

где выключается?

Нашёл исходник запрета закрытия программы. Там работает блокировка в Win7, однако портирую в свою программу, то почему то не пашет.
Старый 20.09.2012, 11:02
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 15:01.