Моя программа предотвращает выключение Windows! - PullRequest
2 голосов
/ 21 декабря 2009

Моя программа wxwidgets не позволяет выключить компьютер, когда пользователь нажимает кнопку Завершение работы. У меня были проблемы с обычным выходом из программы, поэтому я вызывал exit () напрямую, а не удалял верхнее окно, как говорит wxwidgets. Обходной путь выхода работает, но кажется, что wxwidgets не может выйти, когда получает сигнал окна выключения (?). Можно ли как-то перехватить это и просто вызвать exit, чтобы программа не блокировала закрытие окон?

Ответы [ 2 ]

2 голосов
/ 21 декабря 2009

Windows отправляет сообщение WM_SHUTDOWN всем приложениям. Это событие отображается на EVT_END_SESSION в вашем приложении wxWidgets. Убедитесь, что вы правильно обработали это событие.

См. Ссылку на класс wxCloseEvent .

В случае проблем также попробуйте обработать EVT_QUERY_END_SESSION, что относится к WM_QUERY_END_SESSION. Это сообщение отправляется до WM_SHUTDOWN, чтобы дать приложениям возможность отменить завершение работы.

1 голос
/ 21 декабря 2009

Когда Windows закрывается, она отправляет сообщение WM_SHUTDOWN всем приложениям, у которых есть окно

Вы можете перехватить это сообщение?

...