Как запустить режим ожидания / сна из командной строки? - PullRequest
5 голосов
/ 15 июня 2011

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

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

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

Спасибо, Araho

Ответы [ 3 ]

8 голосов
/ 16 июня 2011

Благодаря @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

1 голос
/ 28 мая 2013

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

Использование БЫСТРЫЙ СОН .

0 голосов
/ 20 ноября 2011

Используйте

^!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 - для перевода его в режим гибернации.

...