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

CallNtPowerInformationSYSTEM_POWER_CAPABILITIESで取得できる構造体を見てみましょう。詳しくは畑をご覧ください。HiberFilePresent

于 2011-12-09T07:54:13.360 に答える