Обязательные процедуры при выключении ПК в C ++

0

Я хотел бы создать приложение, которое предупреждает о другом, когда компьютер выключается.

Является ли функция

onShutdown() {
    [Send my message]
}

что мой сигнал будет передаваться из одного приложения в другое, когда компьютер выключится?

EDIT: прочитав комментарии, добавлю, что, по-видимому, первым является получение сообщений о завершении. Есть ли способ получить это сообщение, поскольку "onShutdown()" может быть недостаточным, чтобы гарантировать, что мое приложение будет первым, которое будет остановлено?

RE-EDIT: для IHM лучше всего использовать

WindowProc() {}

И для не-IHM лучше всего использовать:

SetConsoleCtrlHandler();

По-прежнему не было никакого понятия о не-оконном приложении.

  • 0
    Вы читали эту статью? Windows только для сообщений на MSDN Также возможен дубликат http: //stackoverflow.com/questions/20029338/how-to-send ...
  • 2
    Это не будет надежным. Что если другое приложение WM_ENDSESSION сообщение WM_ENDSESSION и уже прекратило работу?
Показать ещё 5 комментариев
Теги:
shutdown

1 ответ

1

Вы можете отправить сообщение в ответ на WM_QUERYENDSESSION. Теперь возможно, чтобы другое приложение ушло буквально в любой момент, поэтому в любом случае нет гарантии на 100%. Тем не менее, WM_QUERYENDSESSION вряд ли вызовет выключение приложения, поэтому нет особых причин опасаться, что другое приложение умрет именно в этот момент.

  • 0
    Вы также можете заблокировать перед возвратом из WM_QUERYENDSESSION (я думаю, что до WM_QUERYENDSESSION Windows, вызывающей обвиняющие сообщения, разрешено до 5 секунд), чтобы дать другому приложению время для обработки сообщения.
  • 0
    Хорошо, но применима ли функция "LRESULT CALLBACK WindowProc () {}" для процесса, который не имеет интерфейса "человек-машина"?
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню