5

我知道可以调用以下 API 来休眠系统:

SetSuspendState(TRUE, FALSE, FALSE);

但是有什么方法可以确定当前 Windows 用户是否可以使用“真正的”休眠?

这就是我的意思:

  1. 如果管理员调用:

    powercfg.exe /hibernate off
    

    上面的 API 将使系统进入睡眠模式。那么你怎么知道(从 C++ 程序)这将发生而不是休眠?

  2. 我不确定是否有可以禁止用户休眠连接到 Active Directory 的计算机的组策略?

编辑我知道(过时的)IsPwrHibernateAllowedAPI。我发现它不起作用:即使powercfg.exe /hibernate off被调用,它仍然返回相同的结果。我在那里做错了吗?有人可以解释为什么IsPwrHibernateAllowed不适合我吗?

4

1 回答 1

4

看看SYSTEM_POWER_CAPABILITIES可以使用CallNtPowerInformation获得的结构。具体来说,看HiberFilePresent场。

于 2011-12-09T07:54:13.360 回答