一直找不到cmd实现睡眠的指令,直到发现psshutdown,
一个202kb,百度一下就能下载 然后将psshutdown.exe复制到以下文件夹目录
C:\Windows\System32
简单说一下和休眠区别
内存供电,就是比休眠快启动,可以键盘唤醒。
待机久用休眠,短暂休息用睡眠。
睡眠
待完成上述操作后,cmd睡眠代码
psshutdown.exe -d -t 0
bat实现
start rundll32.exe powrprof.dll,SetSuspendState 0,1,0
休眠
cmd休眠代码,完全断电
shutdown -h
bat休眠
start rundll32.exe powrProf.dll,SetSuspendState
powershell 关闭休眠功能:
powercfg -h off
重启休眠功能:
powercfg -h on
检查休眠配置
powercfg -a
锁屏
cmd锁屏代码
rundll32.exe user32.dll,LockWorkStation
息屏/关闭屏幕
powerShell息屏代码
(Add-Type '[DllImport("user32.dll")]public static extern int SendMessage(int hWnd, int hMsg, int wParam, int lParam);' -Name a -Pas)::SendMessage(-1,0x0112,0xF170,2)
bat实现息屏代码
powershell (Add-Type '[DllImport(\"user32.dll\")]^public static extern int SendMessage(int hWnd, int hMsg, int wParam, int lParam);' -Name a -Pas)::SendMessage(-1,0x0112,0xF170,2)
参考: PsTool的具体用法
配合AHK实现 双击息屏/睡眠
双击HOME键实现关闭屏幕 双击END键实现电脑睡眠
参考:AHK手册 shutdown
~Home::
If Home_key_press > 0
{
Home_key_press += 1
Return
}
Home_key_press = 1
SetTimer, Close_Func, 300
Return
Close_Func:
SetTimer, Close_Func, Off
If Home_key_press = 2
{
Sleep 500
SendMessage, 0x112, 0xF170, 2,, Program Manager
}
Home_key_press = 0
Return
~End::
If End_key_presss > 0
{
End_key_presss += 1
Return
}
End_key_presss = 1
SetTimer, Sleep_Func, 300
Return
Sleep_Func:
SetTimer, Sleep_Func, Off
If End_key_presss = 2
{
Sleep 500
DllCall("PowrProf\SetSuspendState", "int", 0, "int", 0, "int", 0)
}
End_key_presss = 0
Return
power shell关闭睡眠
#关闭睡眠
powercfg -h off
#检查睡眠配置
powercfg -a