C++ 如何确定Windows用户(使用C+;+;)是否可以使用休眠

C++ 如何确定Windows用户(使用C+;+;)是否可以使用休眠,c++,winapi,power-state,C++,Winapi,Power State,我知道可以调用以下API来休眠系统: SetSuspendState(真、假、假) 但是有没有办法确定当前Windows用户是否可以使用“真正的”休眠 我的意思是: 如果管理员打电话: powercfg.exe /hibernate off 上述API将使系统进入睡眠模式。那么,你如何知道(从C++程序),这将发生而不是休眠?< /p> 我不确定是否有组策略可以禁止用户休眠连接到Active Directory的计算机 编辑我知道(日期)IsPwrHibernateAllowedAPI。我发

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

SetSuspendState(真、假、假)

但是有没有办法确定当前Windows用户是否可以使用“真正的”休眠

我的意思是:

  • 如果管理员打电话:

    powercfg.exe /hibernate off
    
    上述API将使系统进入睡眠模式。那么,你如何知道(从C++程序),这将发生而不是休眠?< /p>
  • 我不确定是否有组策略可以禁止用户休眠连接到Active Directory的计算机

  • 编辑我知道(日期)
    IsPwrHibernateAllowed
    API。我发现它不工作:即使调用了
    powercfg.exe/hibernate off
    ,它仍然返回相同的结果。我做错什么了吗?有人能解释一下为什么
    IsPwrHibernateAllowed
    对我不起作用吗


    查看可通过以下方式获得的
    SYSTEM\u POWER\u功能
    结构。具体来说,请查看
    HiberFilePresent
    字段。

    Google“IsPwrHibernateAllowed”@Hans Passant IsPwrHibernateAllowed是一个过时的API,但即使调用了powercfg.exe/hibernate off,它仍然返回相同的结果。幸运的话,我也搜索了所有的电源管理功能((@ahmd0:这类信息显然应该在问题中!防止人们浪费时间想出你已经尝试过的显而易见的答案?很好的补充。那么,你能回答你的问题吗?谢谢。它看起来很有希望。尽管我仍然找不到一个参数来确定我需要什么?我想我找到了。谢谢你的回答提示:系统动力功能:HiberFilePresent@ahmd0:是的,当我决定发布一个答案时,我正在考虑这个问题。对不起,我没有明确提到。