.NET 查找 Windows 睡眠设置

Mat*_*lko 5 .net c# vb.net sleep .net-4.0

我想知道当前的 Windows 睡眠模式设置是什么,即它是否已打开以及计时器周期是多少。有任何想法吗?

我的偏好(按顺序)是:

  1. .NET 托管代码
  2. 应用程序接口
  3. 读取注册表值

Chr*_*ken 0

这是它在注册表中的存储位置:

[HKEY_CURRENT_USER\Control Panel\PowerCfg] "CurrentPowerPolicy"="2"     
Power Scheme (Default="0")
  "0" = Home/Office Desk
 "1" = Portable/Laptop
 "2" = Presentation
 "3" = Always On
 "4" = Minimal Power Management
 "5" = Max Battery  
Run Code Online (Sandbox Code Playgroud)

然后访问它:

RegistryKey key= Registry.CurrentUser.OpenSubKey("Control Panel\PowerCfg", true);
var value = key.GetValue("CurrentPowerPolicy", 0);
Run Code Online (Sandbox Code Playgroud)

还有一个名为 Policies 的键,它REG_BINARY存储所有特定信息。您可以使用此页面上的示例来阅读它:http://www.eggheadcafe.com/community/aspnet/2/13312/registry-access-for-regbinary-values.aspx