Настройки реестра Windows, соответствующие PowerCfg.exe / setacvalueindex - PullRequest
0 голосов
/ 16 мая 2019

В моем скрипте powershell я использую

powercfg /setacvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 238c9fa8-0aad-41ed-83f4-97be242c8f20 29f6c1db-86da-48c5-9fdb-f2b67b1f44da 0

. Я хотел позже проверить, было установлено вышеуказанное значение или нет.Как мне проверить это?

Я не смог найти ни одну версию GET этой опции команды SET, например GETacvalueIndex?

или есть ли реестр?параметры, которые устанавливаются при этом, чтобы я мог проверить это в реестре Windows?

1 Ответ

0 голосов
/ 27 мая 2019

Может быть, мы можем использовать PowerReadACValuehttps://docs.microsoft.com/en-us/windows/desktop/api/powersetting/nf-powersetting-powerreadacvalue

Например (http://www.reza -aghaei.com / как получить-значение-дополнительные-настройки-мощности /)

[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.";
}
...