你的位置:首页 > 操作系统

[操作系统]【手记】为windows2008建个睡眠快捷方式


一直喜欢用【休眠】,但如果离开的时长有点尴尬,既不想开着机无谓耗电,又不想动用休眠伤硬盘,【睡眠】就成了一种合适的选择。在XP/WIN7等桌面系统下,是可以很方便的进行睡眠/休眠操作的,开始菜单里点就是。但在服务器系统下,比如win2k8r2,就不是那么方便了,在开始菜单中找不到现成选项,我能想到的最便捷的办法就是在桌面建个快捷方式,双击就执行睡或休。休眠的快捷方式容易建,命令行工具shutdown.exe直接支持休眠操作,将快捷方式的目标写成如下就好:

%windir%\System32\shutdown.exe /h /f /t 0

但睡眠咋办,网上搜到可以用rundll32调SetSuspendState这个API实现,根据MSDN,该API的第1个参数只要为0,就是睡眠模式,其余俩参数随意,所以按说只要写成这样即可:

%windir%\System32\rundll32.exe PowrProf.dll,SetSuspendState 0,0,0

但在我的电脑上跑,就是休眠,并非睡眠,尝试过改动参数仍然如此。好在文档里提到了另一个类似功能的API:SetSystemPowerState,根据MSDN,该API只有俩参数,第1个参数设为1是睡眠,第2个参数没用,所以将快捷方式的目标写成这样:

%windir%\System32\rundll32.exe Kernel32.dll,SetSystemPowerState 1,0

一试就成,是我要的睡眠,问题搞掂。文档中说该API后续可能被废,建议改用上面的SetSuspendState~呵呵。

-文毕-