Остановить выключение системы01.08.2015, 12:10. Показов 2138. Ответов 8
Метки нет (Все метки)
Привет.
В моем приложении есть такая штука: при выключении системы оно запускает QMessageBox, которое спрашивает: действительно ли вы хотите отключить систему? При выключении системы вылетает этот box и он почему то становится не кликабельным, т.е. на кнопки на нем нажать нельзя. Затем появляется окно винды, которое спрашивает о принудительном закрытии приложений. Тем временем box полностью виснет и его не закрыть без диспетчера. Как сделать так, чтобы этот QMessageBox не зависал? ОС: Win7 Header:
0
|
|||||||||||
| 01.08.2015, 12:10 | |
|
Ответы с готовыми решениями:
8
Произвольное выключение системы Временное выключение экрана, после запуска системы GA-MA770T-ES3 PCI слот влияет на выключение системы. |
|
184 / 176 / 57
Регистрация: 25.09.2014
Сообщений: 834
|
|
| 03.08.2015, 16:26 | |
|
По коду вообще не подскажу. Но по описанию похоже, что программа отслеживает попытку выключения системы, но не прерывает ее. Отсюда зависание работы ПО - ведь система пытается его принудительно закрыть. Может стоит перестроить логику - ловим попытку выключения системы, останавливаем ее, выводим мессагу. Если пользователь согласен - сами инициируем выключение. Не согласен - просто закрываем мессагу, работаем дальше, а процесс завершения работы уже перехвачен и отменен давно.
0
|
|
| 03.08.2015, 17:18 [ТС] | ||
|
0
|
||
|
184 / 176 / 57
Регистрация: 25.09.2014
Сообщений: 834
|
|
| 04.08.2015, 07:55 | |
|
С WinAPI не работал и вообще не знаю, есть ли там такие функции(но по логике должны быть), но может быть стоит посмотреть в этом направлении?
0
|
|
| 04.08.2015, 22:23 [ТС] | |
|
Горбаг, Почему система выключается
Похоже в таком случае придется писать много кода. Решил откладывать выключение системы непосредственно при помощи WinAPI: https://msdn.microsoft.com/en-... s.85).aspx (хотя он только работает с Vista+), а для XP будем пользоваться сообщениями WM_QUERYENDSESSION
0
|
|
|
Ушел с форума
|
|
| 04.08.2015, 22:25 | |
Сообщение было отмечено Dani как решение
Решение
На системах до Vista можно вернуть FALSE в ответ на оконное сообщение
WM_QUERYENDSESSION. И тогда выхода из системы не будет. Еще можно похукать ExitWindowsEx в процессе explorer.exe или даже сразу в winlogon.exe (опаснее, но эффективнее), тогда будет полный контроль над перезагрузкой. Хотя вот думаю я: при чем здесь тогда Qt ?..
1
|
|
|
Ушел с форума
|
|
| 04.08.2015, 22:31 | |
|
Кросс-платформенное системное программирование а-ля перехват
завершения работы - это миф. Красивая сказка, героев которой на самом деле никогда не существовало. Даже внутри линейки Windows масса нюансов, специфичных для конкретных версий и редакций. Так что не удивляйтесь
1
|
|
| 04.08.2015, 22:31 | |
|
Помогаю со студенческими работами здесь
9
Как отследить включение/выключение компьютера, выход из системы Выключение пк Выключение ПК Выключение Бп Выключение Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|