我正在尝试通过C#获取有关远程PC上电源选项的以下信息:
我不打算改变这些设置:只是阅读它们
CURRENTUSER \ Control Panel \ PowerCfg中的注册表不太有用,因为似乎没有一个指向上面的设置。
我也尝试过使用PowerEnumerate(),但找不到让这个功能在远程计算机上运行的方法。
如何从远程计算机获取这些设置的值?
答案 0 :(得分:1)
注册表中的方案(不必要地)很复杂,但是:
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
。如果您查看PowerSchemes\8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
并查看
0012ee47-9041-4b5d-9b77-535fba8b1442
6738e2c4-e8a5-4a42-b16a-e040e769756e
ACSettingIndex REG_DWORD 0x00000e10 (3600)
然后你就知道在交流电源上关闭硬盘的时间是3600秒或60分钟。
答案 1 :(得分:0)
您需要使用Power Management Api,这是示例类PowerManager.cs 并研究电力方案管理MSDN
编辑: 您正试图从远程PC捕获详细信息,您可以在窗口服务中安装程序,通过它可以读取更新。