
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\PowerSchemes
subclave tiene una entrada llamada ActivePowerScheme
que, 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 PowerSchemes
son, bueno, esquemas de poder. 381b4222-f694-41f0-9685-ff5bb260df2e
, por ejemplo, esBalance recomendado).
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 PowerSettings
subclave de Power
. Por ejemplo, 0012ee47-9041-4b5d-9b77-535fba8b1442
esDisco durocomo se ve en la imagen de arriba. Las subclaves deaquellosson los ajustes individuales. 6738e2c4-e8a5-4a42-b16a-e040e769756e
esApague el disco duro después. Esas claves tienen una DefaultPowerSchemeValues
subclave, que tiene una subclave para cada plan de energía estándar. Esas claves tienen una entrada AcSettingIndex
y una DcSettingIndex
que 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.
Ahora volvamos a la User\PowerSchemes
clave. 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 Power
servicio, 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 eluser
parte dePOWER_POLICY
estructura y observe los valores SpindownTimeoutAc
y SpindownTimeoutDc
.