[英]Windows Registry settings corresponding to PowerCfg.exe /setacvalueindex
在我的powershell脚本中,我使用
powercfg /setacvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 238c9fa8-0aad-41ed-83f4-97be242c8f20 29f6c1db-86da-48c5-9fdb-f2b67b1f44da 0
我想稍后验证是否已设置上述值。 我该如何验证?
我找不到这个SET命令选项的任何GET版本,比如GETacvalueIndex?
或者是否有任何注册表设置在我们这样做时设置,以便我可以在Windows注册表中验证它?
也许我们可以使用PowerReadACValue
( https://docs.microsoft.com/en-us/windows/desktop/api/powersetting/nf-powersetting-powerreadacvalue )
例如( http://www.reza-aghaei.com/how-to-get-value-of-advanced-power-settings/ )
[DllImport("powrprof.dll")]
static extern uint PowerGetActiveScheme(
IntPtr UserRootPowerKey,
ref IntPtr ActivePolicyGuid);
[DllImport("powrprof.dll")]
static extern uint PowerReadACValue(
IntPtr RootPowerKey,
ref Guid SchemeGuid,
ref Guid SubGroupOfPowerSettingGuid,
ref Guid PowerSettingGuid,
ref int Type,
ref int Buffer,
ref uint BufferSize);
public static void Foo()
{
var activePolicyGuidPTR = IntPtr.Zero;
PowerGetActiveScheme(IntPtr.Zero, ref activePolicyGuidPTR);
var activePolicyGuid = Marshal.PtrToStructure<Guid>(activePolicyGuidPTR);
var type = 0;
var value = 0;
var valueSize = 4u;
PowerReadACValue(IntPtr.Zero, ref activePolicyGuid,
ref GUID_SLEEP_SUBGROUP, ref GUID_STANDBY_TIMEOUT,
ref type, ref value, ref valueSize);
var message = $"Sleep after {value} seconds.";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.