Команда rundll32 powrprof.dll SetSuspendState 0 1 0: как отправить Windows в сон

Команда rundll32 powrprof.dll,SetSuspendState 0,1,0 — самый быстрый способ перевести Windows в спящий режим без мыши и меню «Пуск», но у многих пользователей она вместо сна включает гибернацию или вовсе не срабатывает. Причина почти всегда кроется в параметрах 0,1,0 и в том, включена ли гибернация в системе.

Ниже разберём, что означает каждый аргумент, почему команда ведёт себя по-разному на разных компьютерах, как создать ярлык для мгновенного сна и что проверить, если ПК просыпается сразу после засыпания. Материал применим к Windows 10 и Windows 11, где команда работает одинаково.

Что делает команда rundll32 powrprof.dll SetSuspendState

Утилита rundll32 — стандартный компонент Windows, который позволяет вызывать функции из библиотек DLL напрямую, без написания программ. В данном случае вызывается функция SetSuspendState из системной библиотеки powrprof.dll, отвечающей за управление электропитанием.

Именно эта функция используется самой системой, когда вы нажимаете «Сон» в меню завершения работы. Команда лишь обращается к тому же механизму напрямую. Поэтому результат её выполнения полностью зависит от текущих настроек электропитания конкретного компьютера.

Полный синтаксис вызова выглядит так:

rundll32.exe powrprof.dll,SetSuspendState 0,1,0

Обратите внимание: запятые после имени библиотеки и между параметрами обязательны, пробелы внутри списка аргументов могут привести к ошибке выполнения.

Расшифровка параметров 0, 1, 0

Функция SetSuspendState принимает три логических параметра. Каждый из них отвечает за отдельный аспект поведения системы при переходе в спящий режим.

ПараметрЗначениеНазначение
Первый (Hibernate)00 — спящий режим, 1 — гибернация
Второй (ForceCritical)11 — принудительный переход без запросов приложениям
Третий (DisableWakeEvent)00 — события пробуждения разрешены, 1 — отключены

Разберём каждый аргумент подробнее:

  • 🛌 Первый параметр (0) — указывает, что нужен именно сон, а не гибернация. Если поставить 1, система сохранит состояние на диск и полностью выключится.
  • Второй параметр (1) — принудительный режим: Windows не ждёт согласия программ и не показывает предупреждения о несохранённых данных.
  • Третий параметр (0) — разрешает таймеры пробуждения, то есть система сможет проснуться по расписанию или от устройств ввода.
⚠️ Внимание: параметр 1 на второй позиции переводит ПК в сон принудительно. Открытые документы, несохранённые проекты и активные загрузки не будут сохранены — приложения просто не успеют запросить подтверждение. Перед использованием команды сохраните важную работу.

Почему вместо сна включается гибернация

Самая частая жалоба: пользователь вводит команду с параметром сна, а компьютер уходит в гибернацию — полностью выключается и долго загружается обратно. Это известная особенность функции SetSuspendState: если гибернация включена в системе, вызов с параметром 0 может всё равно активировать гибернацию, игнорируя заданный аргумент.

Проверить, включена ли гибернация, можно через командную строку, запущенную от имени администратора:

powercfg /a

Эта команда покажет все доступные состояния сна на вашем устройстве. Если гибернация в списке присутствует, а вам нужен именно классический сон через rundll32, гибернацию придётся отключить:

powercfg /hibernate off

После отключения команда rundll32 powrprof.dll,SetSuspendState 0,1,0 начнёт переводить компьютер именно в спящий режим. Учтите, что отключение гибернации также удалит файл hiberfil.sys и отключит функцию быстрого запуска Windows, которая использует тот же механизм.

📊 Что происходит на вашем ПК при выполнении команды SetSuspendState 0,1,0?
Компьютер корректно засыпает
Включается гибернация вместо сна
ПК засыпает и сразу просыпается
Команда вообще не срабатывает

Как создать ярлык для быстрого перехода в сон

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

Порядок создания ярлыка:

  • 🖱️ Щёлкните правой кнопкой мыши по пустому месту рабочего стола и выберите Создать → Ярлык.
  • 📝 В поле расположения объекта вставьте команду rundll32.exe powrprof.dll,SetSuspendState 0,1,0 и нажмите «Далее».
  • 🏷️ Задайте понятное имя, например «Спящий режим», и завершите создание.
  • ⌨️ При желании откройте свойства ярлыка и назначьте сочетание клавиш в поле «Быстрый вызов».

☑️ Проверка перед созданием ярлыка сна

Выполнено: 0 / 5

Готовый ярлык можно закрепить на панели задач или в меню «Пуск», перетащив его мышью. Для наглядности также можно сменить значок через свойства ярлыка — системные иконки находятся в файле shell32.dll.

Компьютер засыпает и сразу просыпается: диагностика

Другая типичная проблема — ПК уходит в сон и через секунды самостоятельно включается обратно. Команда здесь ни при чём: виновато устройство или задача, которая генерирует событие пробуждения.

Чтобы узнать, что именно разбудило систему в последний раз, выполните в командной строке:

powercfg /lastwake

Дополнительно полезно посмотреть список устройств, которым разрешено будить компьютер:

powercfg /devicequery wake_armed

Если в списке есть сетевая карта или USB-устройство, которое не должно будить систему, откройте Диспетчер устройств, найдите нужное устройство и на вкладке «Управление электропитанием» снимите флажок разрешения вывода из ждущего режима. Точный набор вкладок зависит от драйвера конкретного устройства.

Почему ПК будит сетевая карта

Многие сетевые адаптеры поддерживают технологию Wake-on-LAN и реагируют на сетевые пакеты даже во сне. Если компьютер подключён к активной сети, фоновый трафик может вызывать ложные пробуждения. Отключите опцию пробуждения для адаптера в диспетчере устройств, если Wake-on-LAN вам не нужен.

⚠️ Внимание: не отключайте пробуждение для всех устройств подряд «на всякий случай» — иначе потом не сможете разбудить ПК клавиатурой или мышью и придётся использовать кнопку питания. Меняйте настройки по одному устройству и проверяйте результат.

Альтернативные способы перевода в сон

Команда через rundll32 — не единственный вариант. В зависимости от ситуации удобнее могут оказаться другие методы, и полезно знать их отличия.

Например, в PowerShell доступен более современный вызов через API приложений, но классическая команда остаётся популярной из-за простоты: она работает в окне «Выполнить», в bat-файлах, в планировщике заданий и не требует прав администратора. Для автоматизации её можно встроить в скрипт, который сначала сохраняет данные, а затем переводит систему в сон.

Если же команда не срабатывает вовсе, проверьте, не повреждены ли системные файлы, выполнив sfc /scannow в командной строке от имени администратора. Также убедитесь, что в системе вообще доступен спящий режим — вывод powercfg /a покажет, поддерживает ли его конфигурация оборудования и текущий план электропитания.

Часто задаваемые вопросы

Почему команда не работает и ничего не происходит?

Чаще всего причина в опечатке: проверьте запятые и отсутствие лишних пробелов в строке rundll32.exe powrprof.dll,SetSuspendState 0,1,0. Также выполните powercfg /a и убедитесь, что спящий режим доступен в вашей системе.

Чем сон отличается от гибернации?

При сне состояние системы хранится в оперативной памяти, компьютер потребляет немного энергии и просыпается за секунды. При гибернации данные записываются на диск в файл hiberfil.sys, питание отключается полностью, а возврат к работе занимает больше времени.

Можно ли использовать команду в bat-файле или планировщике?

Да, команда отлично работает в пакетных файлах и задачах планировщика. Только учитывайте, что параметр принудительного сна закроет несохранённые данные, поэтому в автоматических сценариях лучше предусмотреть предварительное сохранение работы.

Безопасно ли отключать гибернацию командой powercfg /hibernate off?

Да, это обратимая операция: включить гибернацию обратно можно командой powercfg /hibernate on. Побочный эффект — отключится быстрый запуск Windows и освободится место на диске за счёт удаления файла hiberfil.sys.

Работает ли команда в Windows 11?

Да, механизм вызова SetSuspendState через rundll32 сохраняется в Windows 11 и ведёт себя так же, как в Windows 10, включая особенность с принудительной гибернацией при её включённом состоянии.