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

Автозакрытие программы при выключении/перезагрузке PC

Добавлено: 01 Сентябрь 2005, 13:28
Juffin
Уважаемые кларовские гуру :!: ПОМОГИТЕ :!:
Есть программа, написанная в Кларе 6.2 (Legacy), которая висит все время запущенная, но пользователю не видимая. И все бы хорошо, но!
При попытке выключить компьютер вываливаается сообщение, что программа запущена и закрыть ее нужно ручками. В хэлпе вообще написано, что и все программы, писанные в Кларе, и сам Кларовский IDE автоматически не закрываются при завершении работы ОС. Дословно: "The IDE, and any programs generated by Clarion, do not automatically shut down when you shut down the Operating System. This allows the user to complete any critical processes or updates and prevents possible data corruption. If you need to shut down applications when the operating system shuts down, you will need to subclass the appropriate window messages in your target application."
:?: Внимание, вопрос:
Как сделать, что бы при выключении/перезагрузке программа автоматически закрывалась? Можно ли в программе отследить попытку ее закрытия "извне"?
Заранее благодарю за советы и ответы. :lol:

Добавлено: 01 Сентябрь 2005, 14:14
StillZero
лЕгко...
сабклассим окно, которое работает, отлавливаем события WM_QUERYENDSESSION и WM_ENDSESSION, возвращаем TRUE :)

подрбности можно посмотреть здесь http://zero.clarionlife.net/Articles/OO ... lass.shtml и здесь http://www.pisoft.ru/verstak/Insider/col_subclass.htm

Добавлено: 01 Сентябрь 2005, 14:17
Admin

Добавлено: 01 Сентябрь 2005, 14:26
softcreator
К сожалению не так все лЕгко... при каких-то атрибутах окна обработка этих событий результата не дает. подробности уже забыл - но сталкивался неоднократно.

СПАСИБО!!!

Добавлено: 01 Сентябрь 2005, 17:02
Juffin
Спасибо, мужики :!:
Все получилось! Все работает корректно с помощью PROP:WndProc и CallWindowProc. :D

Добавлено: 01 Сентябрь 2005, 17:07
Juffin
Admin писал(а):Вот качай шаблон: http://www.c55.com/cgi-bin//bl_get.pl?f ... ate.txt&26
Не качется ни фига..... :cry:

Добавлено: 01 Сентябрь 2005, 17:46
Admin

Добавлено: 02 Сентябрь 2005, 11:10
StillZero
softcreator писал(а):К сожалению не так все лЕгко... при каких-то атрибутах окна обработка этих событий результата не дает. подробности уже забыл - но сталкивался неоднократно.
да в курсе конечно, решение нашел топорное, но работает: обрабатывать только первую мессагу, делать чего надо и HALT :)