Quiero poner mi PC con Windows (Windows 7) en un estado de suspensión a través de la línea de comandos (para poder vincularme al botón de macro en el teclado).
El botón de encendido de la PC está configurado para que la computadora duerma (pero está en el suelo y soy demasiado vago para alcanzarlo) exactamente como lo quiero (duerme usando el modo híbrido en caso de que pierda energía)
El comando de suspensión en el menú de apagado también funciona.
la mayoría de la información que encontré dice usar;
%windir%\system32\rundll32.exe PowrProf.dll, SetSuspendState 0,1,0
Pero esto pone a la computadora en modo de hibernación. Tengo la hibernación desactivada pero uso el sueño híbrido.
Entonces, ¿cuál es el comando a utilizar para poner su computadora en suspensión (no hibernar)?
windows-7
windows
command-line
Eric L
fuente
fuente
rundll32.exe PowrProf.dll,SetSuspendState
no es recomendado. Es peligroso. (Debido a que corrompe la pila, ya que no cumple con la firma de la función exigida por élRundll32
. Entonces pueden ocurrir cosas imprevisibles, como advierte Raymond Chen ...)Respuestas:
Encontré una solución. Instalé un programa gratuito llamado AutoHotKey y grabé los pasos para invocar Menú Inicio -> Suspender en un archivo de script. Luego cumplí el archivo de secuencia de comandos en un ejecutable independiente SleepWin7.exe.
Ahora simplemente ejecuto SleepWin7.exe para poner mi computadora en suspensión híbrida.
Puede desinstalar AutoHotKey si esto es todo lo que necesita.
Actualización: la solución anterior no funciona cuando el usuario no está conectado, es decir, la pantalla de inicio de sesión de Windows 7. (Mi computadora se despierta a las 4 am todos los domingos para realizar una copia de seguridad semanal, que se realiza sin inicio de sesión del usuario). En tal caso, el programa Wizmo aún funciona:
fuente
nircmd.exe standby
se puede encontrar más información aquí -> nirsoft.net/utils/nircmd.htmlEspero que encuentres estos útiles.
Apagar
%windir%\System32\shutdown.exe -s
Reiniciar
%windir%\System32\shutdown.exe -r
Desconectarse
%windir%\System32\shutdown.exe -l
Colocarse
%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState StandbyHibernar
%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState HibernatePrecaución: rundll32.exe no debe usarse para iniciar powerprof.dll . En su lugar, debe llamar a SetSuspendState directamente. Esto se puede hacer con Powershell: cree un archivo, por ejemplo, sleep.ps1, con los siguientes contenidos.
Luego ejecútalo usando
powershell -File C:\your-path\sleep.ps1
. Es posible que primero deba ejecutar el comandoSet-ExecutionPolicy RemoteSigned
para habilitar la ejecución de scripts de PowerShell.La secuencia de comandos anterior provoca una suspensión del sistema, que se suspenderá o hibernará dependiendo de su configuración de hibernación actual. Para cambiar esa configuración desde la línea de comandos, ejecute
powercfg -h off
(oon
) desde la línea de comandos como administrador.fuente
Vea la utilidad gratuita de Wizmo , que puede hacer muchas cosas.
El comando que estás buscando es probablemente:
fuente
wizmo.exe quiet standby
suprime los pitidos posiblemente molestos porwizmo.exe
.Puede crear un archivo con extensión .ps1 (powershell) como "sleep.ps1" y escribir esto:
Lo uso cuando tengo algo ejecutándose y tengo que dejar la PC y no quiero apagarlo. Entonces cambio el script para que se vea así:
Y ahora, cuando lo ejecuto, solo ingreso los minutos que quiero esperar hasta dormir.
Puede ejecutar esto desde la línea cmd escribiendo
Si nunca antes ha ejecutado un script de PowerShell, primero querrá ejecutar
en PowerShell para habilitar la ejecución de scripts. Esto solo debe ejecutarse una vez.
fuente
Con Sysinternals PsTools [ descargar ]:
usando la herramienta de línea de comandos PsShutdown .
(Es posible que prefiera esta solución si ya ha descargado PsTools, es bastante utilizado. Aparte de eso, este enfoque es equivalente a usar ).
wizmo
quiet standby
Fuente: https://superuser.com/a/331545/21887
fuente
He estado usando esta utilidad SLEEP.EXE durante años. Funciona bien, y no tiene que recordar qué argumentos darle para el modo de suspensión (su forma predeterminada de "suspensión").
fuente
para deshabilitar el modo de hibernación necesita usar
ahora, rundll32 powrprof.dll, SetSuspendState pondrá su estación en modo de espera
[EDITAR]
en realidad no puedo configurar una suspensión híbrida porque tengo una computadora portátil (un estado que no está disponible en estaciones móviles), para la suspensión híbrida necesita tener habilitada la hibernación y algunos dicen que rundll32 powrprof.dll, SetSuspendState activan la suspensión predeterminada modo en la configuración de panel de control \ administración de energía. intente si rundll32 powrprof.dll, el sueño híbrido SetSuspendState dan algunos resultados.
fuente
Haga un archivo bat, donde 600 es retraso en segundos.
ping -n 600 -w 1 127.0.0.1> nul
powercfg -h apagado
% windir% \ System32 \ rundll32.exe powrprof.dll, SetSuspendState Standby
fuente
Si eres competente compilando un programa .NET, el siguiente comando hará esto
Nota: No necesita deshabilitar la hibernación como lo requiere el
rundll32 powrprof.dll,SetSuspendState
comando. También puede usar elPowerState.Hibernate
que hibernará la máquina si lo desea.Puede compilar fácilmente un EXE con este comando con cualquier versión de Visual Studio . Simplemente cree una aplicación de consola y agregue una referencia a la
System.Windows.Forms
DLL.fuente
Visual Studio
para compilar. En cambio, secsc.exe
podría usar el compilador de línea de comandos . Ya está instalado en todas las versiones modernas de Windows.