2

Ярлыки shutdown.exe прекрасно работают для завершения работы и перезагрузки:

C:\Windows\System32\shutdown.exe /s /t 00

C:\Windows\System32\shutdown.exe /r /t 00

Я не хочу делать Hibernate, но я хотел бы сделать Standby, как в Windows XP, с одним двойным щелчком мыши с моего рабочего стола.

В Win 8 требуется больше усилий, чем необходимо, чтобы перейти в спящий режим.


Итак, я прочитал, что вы должны использовать следующую команду rundll32 чтобы сделать Standby, и что Hibernation должен быть отключен, поэтому я превратил следующее в файл .bat с ярлыком для него. Мне все еще требуется нажать кнопку питания, чтобы включить компьютер, а не нажимать клавишу на клавиатуре или двигать мышь:

C:\Windows\System32\powercfg -hibernate off

C:\Windows\System32\rundll32.exe powrprof.dll,SetSuspendState 0,1,0

PsShutdown работает для всех трех: выключение, перезагрузка и ожидание.
В настоящее время я использую PsShutdown v2.52:

"C:\Program Files\Standby\psshutdown.exe" -k -t 0

"C:\Program Files\Standby\psshutdown.exe" -r -t 0

"C:\Program Files\Standby\psshutdown.exe" -d -t 0

Я просто хотел бы знать, какую команду использует Windows 8 для перевода компьютера в спящий режим?

Это командная строка? Где ты это нашел? Как вы понимаете, что это такое?

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

Windows 8 как-то выполняет свою работу. Может быть, это действительно сложнее, чем с помощью пары команд строки.

3 ответа3

1

Я также попробовал:

C:\Windows\System32\rundll32.exe powrprof.dll,SetSuspendState 0,1,0

но он отключается вместо сна / ожидания

НО благодаря PsShutdown.exe, как упомянуто выше, с определенным переключателем:

"C:\Program Files\Standby\psshutdown.exe" -d -t 0

Это работает как в режиме ожидания или как сон, как и должно.

Спасибо

1

Я решил, что просто буду использовать Classic Shell - текущая версия 3.6.2 - отлично работает

0

Похоже, вы ожидаете, что все будет работать как Linux.

Командная строка пользуется уважением в большинстве программ для Linux, и, действительно, в большинстве случаев многие программы и диалоговые окна фактически создают команду, которая затем выполняется - в действительности это загрузка исполняемого файла с указанием аргументов "командной строки". ,

Windows не имеет такой же традиции, и, как правило, когда что-то в Windows имеет "открытую" функциональность, это происходит через библиотеки DLL или COM-интерфейсы, или совсем недавно объекты .NET. Таким образом, вместо того, чтобы вызывать команду, Windows гораздо чаще вызывает функцию DLL (в некоторых случаях - по порядковому номеру, а НЕ по имени), объектный метод COM или .NET.

Этот материал предоставляется вам, не программисту, через rundll32 (но, как правило, плохо документировано), COM API (лучше подготовиться к чтению большого количества документов, пониманию объектно-ориентированного программирования), который доступен через Windows Script Host ( еще один слой компонентов, доступный для конечного пользователя через wscript.exe и / или cscript.exe) и .NET (для этого выделите Powershell и Visual Studio). Многие из апплетов панели управления и т.п. в explorer.exe , вероятно, выполняют системные вызовы, вызовы DLL или COM-вызовы напрямую.

Звучит грязно, и это так. Хорошая новость заключается в том, что с появлением Powershell наметилась устойчивая тенденция к тому, что в нем будут доступны « cmdlet », которые делают практически все и, наконец, дают Windows согласованную, богатую среду командной строки. Я не знаю команду Powershell, чтобы перевести Windows в спящий режим, но я уверен, что она есть.

Я мог быть ужасно ошибочным / неполным в отношении любого или большей части этого (программист IANA для Windows), я уверен, что другие будут комментировать, и вы должны прочитать эти комментарии.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .