Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2004.03.03;
Скачать: [xml.tar.bz2];

Вниз

как заставить программу перехватывать сообщение о перезагрузке,   Найти похожие ветки 

 
kryworut   (2003-12-09 15:22) [0]

как заставить программу перехватывать сообщение о перезагрузке, выключении, завершении сеанса?
Если мможнапример :)


 
kryworut   (2003-12-09 16:35) [1]

Как правильно перехватить сообщение WM_QUERYENDSESSION если можна с примером


 
Тимохов   (2003-12-09 16:40) [2]

procedure WMLPOWERBROADCAST(var Message: TMessage); message WM_POWERBROADCAST;
procedure WMQueryEndSession(var Message: TWMQueryEndSession); message WM_QUERYENDSESSION;

CONST
PBT_APMQUERYSUSPEND = 0;

PROCEDURE TForm_Main.WMLPOWERBROADCAST(var Message: TMessage);
BEGIN
// Это типа не дать компу заснуть. Просто у меня это вместе было с WM_QUERYENDSESSION, потому и засунул тоже сюда
if Message.wParam = PBT_APMQUERYSUSPEND then
Message.Result := BROADCAST_QUERY_DENY;
END;

PROCEDURE TForm_Main.WMQueryEndSession(var Message: TWMQueryEndSession);
BEGIN
Message.Result := Integer(False);
END;


 
kryworut   (2003-12-11 09:19) [3]

Но если я хочу знать о перегрузке, но не мешать ей то возвращать я должен False или True?


 
kryworut   (2003-12-11 10:02) [4]

И еще один вопрос, как происходит перезагрузка:
- система посылает всем приложениям сообщение о перезагрузке
вопрос - программа отдает системе ответ дает ли она разрешение на перезагрузку.

пример

PROCEDURE TForm_Main.WMQueryEndSession(var Message: TWMQueryEndSession);
BEGIN
Message.Result := Integer(False);
Halt;
END;

У меня программа выходит но комп не выключается, почему.


 
Тимохов   (2003-12-11 12:33) [5]

Надо делать так (см. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/wm_queryendsession.asp)
PROCEDURE TForm_Main.WMQueryEndSession(var Message: TWMQueryEndSession);
BEGIN
Message.Result := Integer(true);
END;


 
kryworut   (2003-12-11 12:57) [6]

Попробуйте на форму поставить Tnmudp в инспекторе обектов присвоить propertis какие нибудь значения скомпилировать прогу и запустить, она не позволит выключить комп, сначала надо ее выключить, а уж потом комп. мне так не подходит. я пробовал

PROCEDURE TForm_Main.WMQueryEndSession(var Message: TWMQueryEndSession);
BEGIN
Message.Result := Integer(true);
Halt;
END;

при выключении прога завершает работу, но комп не выключается, надо еще раз "Пуск/Завершение работы/..."


 
Тимохов   (2003-12-11 13:00) [7]

блин, halp убери, написал же ведь!


 
MV   (2003-12-11 15:17) [8]

WM_SYSTEMPOWERBUTTONWASPRESSED
или
WM_SYSTEMRESETBUTTONWASPRESSED


 
Тимохов   (2003-12-11 15:25) [9]

то мv
Это не совсем то, что ему нужно. Ему более подходит то, что описано в http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/wm_queryendsession.asp.


 
MV   (2003-12-11 15:31) [10]

Зато мой вариант позволяет перехватить прерывание на нажатие кнопок на системном блоке.


 
Тимохов   (2003-12-11 15:35) [11]

Но это все-таки совершенно другая задача.
Ладно, ИМХО автору вопроса уже не интересен ответ.

Предлагаю забить на вопрос.


 
kryworut   (2003-12-11 19:30) [12]

Ответ ОЧЕНЬ интересен но у меня подключение через модем, и после обеда не смог связаться занятая линия :)


 
kryworut   (2003-12-11 20:09) [13]

Сейчас уже пишу из дома :)


 
kryworut   (2003-12-12 09:33) [14]

Извините, что я пропал после обеда не мог связаться с интернетом.
:)


 
kryworut   (2003-12-15 11:41) [15]

Если кто знает, как сделать так чтобы программа с NMUDP1 выключалась при завершении работы системы (пуск / завершение...)
посоветуйте как это сделать.



Страницы: 1 вся ветка

Форум: "Система";
Текущий архив: 2004.03.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.006 c
14-6208
Style
2004-02-10 15:52
2004.03.03
Stack Overflow при компиляции 8)


14-6229
syte_ser78
2004-02-11 11:19
2004.03.03
как запретить перемещение сплитера?


3-5980
Zilog
2004-02-05 11:48
2004.03.03
Динамически создаю таблицы в БДЕ. Проверка существующего имени


1-6043
Soi
2004-02-19 07:22
2004.03.03
Сохранение данных в файл


3-5970
ALEX2
2004-02-05 13:27
2004.03.03
Поле типа boolean проставляется автоматически





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский