2009-09-11 10:16:21 +0000 2009-09-11 10:16:21 +0000
63
63

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

Я хочу перевести свой Windows PC (Windows 7) в спящее состояние с помощью командной строки (чтобы можно было привязать к кнопке макроса на клавиатуре).

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

Команда sleep в меню выключения также работает.

Большая часть информации, которую я нашел, говорит об использовании;

%windir%\system32\rundll32.exe PowrProf.dll, SetSuspendState 0,1,0

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

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

Ответы (8)

73
73
73
2010-09-15 03:25:22 +0000

Надеюсь, ты найдешь это полезным.

Отключение %windir%\System32\shutdown.exe -s

Перезагрузка %windir%\System32\shutdown.exe -r

Выход из системы %windir%\System32\shutdown.exe -l

Ожидание %windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Standby Спящий режим %windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Hibernate Спящий режим powershell -File C:\your-path\sleep.ps1

Внимание: rundll32.exe не должен использоваться для запуска powerprof.dll . Вместо этого вы должны напрямую позвонить в SetSuspendState. Это можно сделать с помощью Powershell - создайте файл, например sleep.ps1, с содержимым, приведенным ниже.

Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.Application]::SetSuspendState("Suspend", $false, $true)

Затем запустите его, используя Set-ExecutionPolicy RemoteSigned. Сначала вам, возможно, понадобится выполнить команду powercfg -h off, чтобы запустить сценарии Powerhell.

Вышеприведенный сценарий приводит к приостановке работы системы, которая будет либо спать, либо находиться в спящем режиме в зависимости от ваших текущих настроек. Чтобы изменить этот параметр из командной строки, запустите on (или 0x6&) из командной строки от имени администратора.

16
16
16
2009-09-11 10:38:59 +0000

Смотрите бесплатную утилиту Wizmo , которая может делать очень много вещей.
Команда, которую вы ищете, вероятно:

wizmo standby

14
14
14
2011-06-29 18:56:07 +0000

Вы можете создать файл с расширением .ps1 (powershell) типа “sleep.ps1” и записать его:

Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.Application]::SetSuspendState("Suspend", $false, $true)

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

$minutes = read-host "Enter minutes to wait until sleep";
$secs= 60*$minutes;
Start-sleep -s $secs

Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.Application]::SetSuspendState("Suspend", $false, $true)

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

Вы можете запустить его из командной строки, написав

powershell -File C:\your-path\sleep.ps1

Если вы никогда раньше не запускали сценарий PowerShell, вам сначала нужно запустить

Set-ExecutionPolicy RemoteSigned

в PowerShell, чтобы включить запуск сценария. Это нужно сделать только один раз.

13
13
13
2010-05-28 19:01:38 +0000

Я нашел решение. Я установил бесплатную программу под названием AutoHotKey и записал шаги для вызова меню “Пуск” -> “Сон” в файл скрипта. Затем я выполнил файл скрипта в автономном исполняемом файле SleepWin7.exe.

Теперь я просто запускаю SleepWin7.exe, чтобы поместить мой компьютер в гибридный сон.

Вы можете удалить AutoHotKey, если это все, что вам нужно.


Обновление: вышеописанное решение не работает, когда пользователь не вошел в систему, т.е. Windows 7 Login Screen. (Мой компьютер просыпается в 4 утра каждое воскресенье для выполнения еженедельного резервного копирования, что делается без входа пользователя). В этом случае программа Wizmo все еще работает:

wizmo.exe тихий режим ожидания!

11
11
11
2012-06-20 19:25:37 +0000

С Sysinternals PsTools [ скачать]:

psshutdown -d

с помощью инструмента командной строки [ PsShutdown .

(Возможно, вы предпочтете это решение, если вы уже скачали PsTools, оно довольно широко используется. Кроме того, этот подход эквивалентен использованию wizmo quiet standby).

Источник: https://superuser.com/a/331545/21887

7
7
7
2012-10-10 04:25:06 +0000

Я использую эту утилиту SLEEP.EXE в течение многих лет. Она хорошо работает, и вам не нужно запоминать, какие аргументы давать ей для режима suspend (его стандартная форма “sleep”).

5
5
5
2010-12-16 17:25:46 +0000

Сделайте файл летучей мыши, где 600 - это задержка в секундах.

ping -n 600 -w 1 127.0.0.1 > nul

powercfg -h off

%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Standby

4
4
4
2010-09-15 00:55:39 +0000

Если вы компетентны в компиляции .NET программы, следующая команда сделает это

System.Windows.Forms.Application.SetSuspendState(PowerState.Suspend, 
                                                 false, /* force */
                                                 true /* disableWake */);

Note: Вам не нужно отключать спящий режим, как того требует команда rundll32 powrprof.dll,SetSuspendState. Вы также можете использовать команду PowerState.Hibernate, которая переведет машину в спящий режим, если вы хотите.

С помощью этой команды вы можете легко скомпилировать EXE с любой версией Visual Studio . Просто создайте консольное приложение и добавьте ссылку на System.Windows.Forms DLL.

Похожие вопросы

3
19
10
28
7