在远程 PC 上获取电源选项设置 (C#)
Getting Power Options settings on a remote PC (C#)
我正在尝试通过 C# 获取有关远程 PC 上电源选项的以下信息:
- 该睡觉了
- 是时候关闭显示器了
- 是时候关闭电池供电的硬盘了
- 插入时关闭硬盘的时间
- 使用电池后睡眠
- 接通后休眠
- 使用电池后休眠
- 插入后休眠
我不打算更改这些设置:只是阅读它们。
CURRENTUSER\Control Panel\PowerCfg 中的注册表没有多大帮助,因为 none 似乎指向上面的设置。
我也尝试过使用 PowerEnumerate(),但找不到使该功能在远程计算机上运行的方法。
我将如何从远程计算机获取这些设置的值?
您需要使用电源管理 Api,这里是示例 class PowerManager.cs
并查看电源方案管理 MSDN
编辑:
您正在寻求从远程 PC 捕获详细信息的东西,您可以在 window 服务中安装您的程序,您可以通过该服务读取更新。
注册表中的方案(不必要地)复杂,但是:
HKLM\SYSTEM\CurrentControlSet\Control\Power\PowerSettings
包含不同设置的 GUID 值,以及库存计划的 AC 和 DC 默认值。
钥匙
HKLM\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes
包含对每个设置组和设置的 GUID 下的电源方案设置所做的任何修改。
HKLM\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes\ActivePowerScheme
包含当前活动电源方案的 GUID。
我当然不会通过注册表更改设置,但我相信您可以阅读它们。
例如,如果您的活动电源方案为高性能,则 ActivePowerScheme 包含 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
。如果您查看 PowerSchemesc5e7fda-e8bf-4a96-9a85-a6e23a8c635c
并看到
0012ee47-9041-4b5d-9b77-535fba8b1442
6738e2c4-e8a5-4a42-b16a-e040e769756e
ACSettingIndex REG_DWORD 0x00000e10 (3600)
那么你就知道关闭交流电源的硬盘时间是3600秒或60分钟。
我正在尝试通过 C# 获取有关远程 PC 上电源选项的以下信息:
- 该睡觉了
- 是时候关闭显示器了
- 是时候关闭电池供电的硬盘了
- 插入时关闭硬盘的时间
- 使用电池后睡眠
- 接通后休眠
- 使用电池后休眠
- 插入后休眠
我不打算更改这些设置:只是阅读它们。
CURRENTUSER\Control Panel\PowerCfg 中的注册表没有多大帮助,因为 none 似乎指向上面的设置。
我也尝试过使用 PowerEnumerate(),但找不到使该功能在远程计算机上运行的方法。
我将如何从远程计算机获取这些设置的值?
您需要使用电源管理 Api,这里是示例 class PowerManager.cs 并查看电源方案管理 MSDN
编辑: 您正在寻求从远程 PC 捕获详细信息的东西,您可以在 window 服务中安装您的程序,您可以通过该服务读取更新。
注册表中的方案(不必要地)复杂,但是:
HKLM\SYSTEM\CurrentControlSet\Control\Power\PowerSettings
包含不同设置的 GUID 值,以及库存计划的 AC 和 DC 默认值。
钥匙
HKLM\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes
包含对每个设置组和设置的 GUID 下的电源方案设置所做的任何修改。
HKLM\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes\ActivePowerScheme
包含当前活动电源方案的 GUID。
我当然不会通过注册表更改设置,但我相信您可以阅读它们。
例如,如果您的活动电源方案为高性能,则 ActivePowerScheme 包含 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
。如果您查看 PowerSchemesc5e7fda-e8bf-4a96-9a85-a6e23a8c635c
并看到
0012ee47-9041-4b5d-9b77-535fba8b1442
6738e2c4-e8a5-4a42-b16a-e040e769756e
ACSettingIndex REG_DWORD 0x00000e10 (3600)
那么你就知道关闭交流电源的硬盘时间是3600秒或60分钟。