Обработка выключения и гибернации ПК в C/C++: методы и примеры

Для обработки выключения ПК и перехода в спящий режим в C/C++ вы можете использовать следующие методы:

  1. Использование функции system:
    Вы можете использовать функцию systemдля выполнения системных команд. В Windows вы можете использовать команду shutdownс соответствующими параметрами, чтобы инициировать завершение работы или переход в спящий режим. Например:

    #include <stdlib.h>
    int main() {
       // To shutdown the PC
       system("shutdown /s /t 0");
       // To hibernate the PC
       system("shutdown /h");
       return 0;
    }

    Обратите внимание, что приведенный выше код немедленно выполнит команды выключения или перехода в спящий режим. Настройте параметры в соответствии с вашими требованиями.

  2. Использование функции ExitWindowsEx:
    Функция ExitWindowsExпозволяет программно выключить систему или перевести ее в спящий режим. Вот пример:

    #include <windows.h>
    int main() {
       // To shutdown the PC
       ExitWindowsEx(EWX_SHUTDOWN, 0);
       // To hibernate the PC
       SetSuspendState(TRUE, FALSE, FALSE);
       return 0;
    }

    Обязательно включите заголовочный файл windows.h.

  3. Использование функции SetSystemPowerState:
    Функция SetSystemPowerStateиспользуется для установки состояния питания системы. Вы можете использовать его для запуска режима гибернации. Вот пример:

    #include <windows.h>
    int main() {
       // To hibernate the PC
       SetSystemPowerState(FALSE, TRUE);
       return 0;
    }

    И снова включите заголовочный файл windows.h.