Lea programáticamente el valor "Apagar el disco duro después" en Windows

Lea programáticamente el valor "Apagar el disco duro después" en Windows

Estoy buscando una manera de leer mediante programación la configuración actual del valor "Apagar el disco duro después", ubicado en las opciones avanzadas de energía en Windows 7 y versiones posteriores.

soy consciente de la

powercfg -change disk-timeout-ac xx

y

powercfg -change disk-timeout-dc xx

comandos para establecer este valor. Sin embargo, no parece haber un comando equivalente para leer el valor establecido actualmente. Además, no pude encontrar una configuración de registro para esto.

Respuesta1

Dado que está preguntando sobre Superusuario en lugar de Stack Overflow, me centraré en la forma programable (Registro) de hacer esto.

Se puede acceder a todas las configuraciones de energía en el Registro con esta clave:

HKLM\CurrentControlSet\Control\Power

La User\PowerSchemessubclave tiene una entrada llamada ActivePowerSchemeque, como se puede imaginar, contiene el ID del plan de energía actual. Todos los ID relacionados con la administración de energía son GUID, pero mis encuestas rápidas muestran que los predeterminados son los mismos en todas las máquinas. Las subclaves de PowerSchemesson, bueno, esquemas de poder. 381b4222-f694-41f0-9685-ff5bb260df2e, por ejemplo, esBalance recomendado).

opciones de poder

Las subclaves de las claves de la combinación de energía son categorías tal como aparecen en las opciones de energía avanzadas. Estos se definen en la PowerSettingssubclave de Power. Por ejemplo, 0012ee47-9041-4b5d-9b77-535fba8b1442esDisco durocomo se ve en la imagen de arriba. Las subclaves deaquellosson los ajustes individuales. 6738e2c4-e8a5-4a42-b16a-e040e769756eesApague el disco duro después. Esas claves tienen una DefaultPowerSchemeValuessubclave, que tiene una subclave para cada plan de energía estándar. Esas claves tienen una entrada AcSettingIndexy una DcSettingIndexque son exactamente lo que piensas. Las unidades utilizadas varían de un entorno a otro; éste usa segundos. Por lo tanto, puede ver que el tiempo de espera de apagado predeterminado del disco duro para el plan de energía equilibrado es de 1200 segundos (20 minutos) cuando está conectado y 600 segundos (10 minutos) con la batería.

valores predeterminados del registro

Ahora volvamos a la User\PowerSchemesclave. Dado que es posible que el usuario nunca haya cambiado la configuración, no hay garantía de que la clave tenga entradas de configuración de CA y CC, la subclave de configuración o incluso la subclave de categoría. Si el valor que busca no está ahí, deberá volver a verificar el valor predeterminado para el plan de energía actual PowerSettings\DefaultPowerSchemeValues.

Tenga en cuenta que, si bien todos pueden leer estas claves y valores, ni siquiera los administradores pueden escribir. Esto se debe a que se supone que la configuración de energía se administra a través del Powerservicio, que se ejecuta como SYSTEM.


Los desarrolladores de aplicaciones compiladas (C++) deben utilizar la interfaz documentada para la administración de energía. LlamarGetCurrentPowerPolicies, consigue eluserparte dePOWER_POLICYestructura y observe los valores SpindownTimeoutAcy SpindownTimeoutDc.

información relacionada