Как запустить режим ожидания / сна из командной строки?

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

Я хотел бы команду, которая переводит компьютер в легкий режим ожидания, когда нажатие клавиши заставит компьютер снова проснуться, а не в спящем режиме. Кто-нибудь знает об этом?

AFAIK, rundll32.exe powrprof.dll, SetSuspendState 0,1,0 НЕ переводит компьютер в спящий / ждущий режим во всех случаях и поэтому не подходит для моего использования...

Спасибо арахо

3 ответа

Решение

Благодаря @minitech я наконец-то заработал. Оставляя это здесь для всех, кто хочет знать ответ, и приводя два примера, один в прямой командной строке и один в Visual C#:

Добавьте повышенные привилегии в свое приложение:

  • Другими словами, в командной строке запустите его с правами администратора.
  • В Visual C#, который я использую, добавьте файл манифеста в проект и отредактируйте элемент "requiredExecutionLevel" следующим образом:

Затем выполните следующие команды:

  • В командной строке:

    1. "powercfg -hibernate off" - отключает возможность режима гибернации.

    2. rundll32.exe powrprof.dll, SetSuspendState 0,1,0 - Это заставляет компьютер спать.

    3. powercfg -hibernate on - позволяет снова активировать режим гибернации.

  • В Visual C# используйте следующий код:

    1. System.Diagnostics.Process.Start ("powercfg", "-hibernate off"); // Отключаем настройку режима гибернации.

    2. System.Diagnostics.Process.Start ("rundll32.exe", "powrprof.dll, SetSuspendState 0,1,0"); // Отправляем компьютер в спящий режим

    3. System.Diagnostics.Process.Start("powercfg", "-hibernate on"); // Включаем режим гибернации после пробуждения компьютера.

Очень важно не забыть добавить привилегии Администратора, иначе это сделает компьютер в спящем режиме, что займет вечность.

Araho

STANDBY (SLEEP) с CMD (командная строка или.bat), не работает в Windows 10.

Используйте БЫСТРЫЙ СОН.

Испытанный и протестированный NirCMd (полезный для многих вещей) имеет как режим ожидания (сна), так и команду гибернации: https://nircmd.nirsoft.net/standby.html Скорее всего, некоторые из вышеперечисленных действий будут выполнены за вас.

Использование

^!Numpad9::DllCall("PowrProf\SetSuspendState", "int", 0, "int", 0, "int", 0)
^!Numpad8::DllCall("PowrProf\SetSuspendState", "int", 1, "int", 0, "int", 0)

в AutoHotkey. Затем вам нужно будет нажать Ctrl+Alt+Numpad9. Ctrl+Alt+Numpad8 - для перевода его в режим гибернации.

Другие вопросы по тегам