На Windows Я получаю сообщение WM_CLOSE, которое обрабатывается WndPro c, которое уведомляет о завершении работы приложения либо через -
- Пользователь нажал крестик (X)
- Пользователь нажал сочетание клавиш Alt + F4
- Пользователь щелкнул правой кнопкой мыши значок приложения на панели задач и нажал «Закрыть окно» / «Закрыть все windows»
- Пользователь перешел в диспетчер задач и из приложений На вкладке «Завершить задачу» щелкнули
Еще до того, как WM_CLOSE, windows отправит следующее сообщение, и мы можем использовать его для обнаружения вышеуказанного:
message = WM_SYSCOMMAND (WndPro c) а wParam = SC_CLOSE и lParam! = 0 подразумевает «1». т.е. кнопка с крестиком (X)
message = WM_SYSCOMMAND (WndPro c) и wParam = SC_CLOSE и lParam = 0 подразумевает «2», «3». или «4».
Обратите внимание на «2». может быть обнаружен путем прослушивания WM_SYSKEYDOWN и wParam = VK_F4 (получено даже до WM_SYSCOMMAND)
Теперь любая идея, как отличить guish между «3». и «4». тоже?
В конечном итоге мне нужно что-то сделать, когда мое приложение убито из вкладки приложений в диспетчере задач.