C ++ Windows обнаружение убийства из вкладки приложений в диспетчере задач? - PullRequest
1 голос
/ 28 мая 2020

На Windows Я получаю сообщение WM_CLOSE, которое обрабатывается WndPro c, которое уведомляет о завершении работы приложения либо через -

  1. Пользователь нажал крестик (X)
  2. Пользователь нажал сочетание клавиш Alt + F4
  3. Пользователь щелкнул правой кнопкой мыши значок приложения на панели задач и нажал «Закрыть окно» / «Закрыть все windows»
  4. Пользователь перешел в диспетчер задач и из приложений На вкладке «Завершить задачу» щелкнули

Еще до того, как 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». тоже?

В конечном итоге мне нужно что-то сделать, когда мое приложение убито из вкладки приложений в диспетчере задач.

...