![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Mazenrat |
|
||||
Unregistered |
Привет.
Вообщем приложение не имеет VCL компонентов. Нужно отследить момент завершения работы приложения. Точнее нужно отследить момент завершения Windows, и, если пользователь собирается выключить компьютер - программа должна вывести диалог запроса. Если пользователь нажимает кнопку YES - разрешаем выключение, если NO - отменяем. С помощью VCL компонентов это делается элементарно:
Вопрос в том как это сделать в API приложении? Посоветовали мне на другом форуме WM_QUERYENDSESSION. Но при завершении работы Windows ничего не происходит. Windows всё преспокойненько закрывает. А мне нужно НЕ дать завершить работу Windows.
|
||||
|
|||||
Mazenrat |
|
|||
Unregistered |
Неужели здесь никто не знает?
|
|||
|
||||
December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 8 Всего: 57 |
Я когда-то тоже этим занимался, но WM_QUERYENDSESSION поймать так и не смог. а вообще достаточно всего лишь возвращать то ли ноль, то ли не ноль, и винда вырубаться не будет.
|
|||
|
||||
Seregy |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 30.7.2002 Репутация: нет Всего: нет |
-MSDN---
WM_QUERYENDSESSION The WM_QUERYENDSESSION message is sent when the user chooses to end the session or when an application calls the ExitWindows function. If any application returns zero, the session is not ended. The system stops sending WM_QUERYENDSESSION messages as soon as one application returns zero. After processing this message, the system sends the WM_ENDSESSION message with the wParam parameter set to the results of the WM_QUERYENDSESSION message. A window receives this message through its WindowProc function. LRESULT CALLBACK WindowProc( HWND hwnd, // handle to window WM_QUERYENDSESSION, // the message to send WPARAM wParam, // not used LPARAM lParam // logoff option ); ---------------- еще вопросы есть? Я правда не знаю, как конкретно ты ловишь сообщения в Delphi, но тебе в ответ на него нужно 0 вернуть, и все ок. |
|||
|
||||
Mazenrat |
|
|||
Unregistered |
Добрый день.
Не знаю что делать. Никак не ловиться WM_QUERYENDSESSION. Помогите!
|
|||
|
||||
rhf |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 13.8.2002 Репутация: нет Всего: нет |
||||
|
||||
Fantasist |
|
|||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: нет Всего: 41 |
Ну а другие-то сообщения этот код ловит? А зачем export? -------------------- Волны гасят ветер... |
|||
|
||||
Fantasist |
|
|||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: нет Всего: 41 |
Стало интересно, попробовал.
Вот код. Полностью работает.
Ничего сложного. Просто читайте SDK. ![]() -------------------- Волны гасят ветер... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |