我知道可以调用以下API来休眠系统:
SetSuspendState(TRUE,FALSE,FALSE);
但有没有办法找出当前Windows用户是否可以使用“真正的”休眠模式?
这就是我的意思:
>如果管理员致电:
powercfg.exe /hibernate off
上面的API将使系统进入睡眠模式.所以你怎么知道(从C程序)这将发生而不是休眠?
>我不确定是否存在可以禁止用户休眠连接到Active Directory的计算机的组策略?
Edit I am aware of the (dated)
IsPwrHibernateAllowed
API. I find that it doesn’t work: it still returns the same result even ifpowercfg.exe /hibernate off
was called. Am I doing something wrong there? Can someone explain whyIsPwrHibernateAllowed
doesn’t work for me?
解决方法
看一下可以用
CallNtPowerInformation获得的SYSTEM_POWER_CAPABILITIES结构.具体来说,看看HiberFilePresent字段.