Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как отловить закрытие Windows? 
:(
    Опции темы
Петров Андрей
Дата 24.6.2004, 13:53 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Здравствуйте уважаемые!

Необходимо сделать резервную копию БД при закрытии Windows. Вопросы в следующем
1) Как отловить событие закрытия Windows?
2) Как успеть на него среагировать т.е. преостановить закрытие и успеть заархивировать, продолжив после этого закрытие?

Ответы лучше на мыло [email protected] smile.gif
  Вверх
Chingachguk
Дата 26.6.2004, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 18



Может быть, тебе подойдет перехват ExitProcess ? ... Еще возможен сервис, смотрящий за окнами (FindWindow по имени окна). Надо выяснить имя окна закрытия (ALT+F4) и тогда...


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
oleg1973
Дата 26.6.2004, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



проблема в том что в разных вындоса через разные апи выключение вындоса происходит
ExitWindows
ExitWindowsExec
SHExitWindowsEx

в НТ/ХР есть непосредственно команда SHUTDOWN
так что ловить придется все и сразу smile.gif

лучше в самой проге сделать что если к окну приходит месадж типа закрывайся, она базу сохраняет


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Jin X
Дата 27.6.2004, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 5.3.2004

Репутация: 1
Всего: 1



Никаких API не нужно ничего перехватывать smile.gif
В обработчике окна (если окон нет, создаёшь невидимое) проверяешь сообщения:
1. WM_ENDSESSION и WM_DESTROY.
2. Если интересует Hibernate и Suspend, то WM_POWERBROADCAST. При этом wParam == PBT_APMSUSPEND при засыпании и wParam == PBT_APMRESUMESUSPEND при пробуждении.
При их возникновении делаешь что нужно и выходишь из обработчика с EAX=0.

Это сообщение отредактировал(а) Jin X - 27.6.2004, 18:48
--------------------
Бойся своей мечты, ибо она осуществима!
PM MAIL   Вверх
oleg1973
Дата 28.6.2004, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



Jin X
ну блин земляк и я о томже biggrin.gif



--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Oleg_SK
Дата 10.12.2004, 22:19 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Jin X
2. Если интересует Hibernate и Suspend, то...
Дополнение: это же сообщение поступает и при переходе ATX-компа в режим SoftOff (т.е. программное выключение), после нажатия кнопки POWER.
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1230 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.