Como você está perguntando sobre o Superusuário em vez do Stack Overflow, vou me concentrar na maneira programável (Registro) de fazer isso.
As configurações de energia estão todas acessíveis no Registro sob esta chave:
HKLM\CurrentControlSet\Control\Power
A subchave User\PowerSchemes
tem uma entrada chamada ActivePowerScheme
, que, como você pode imaginar, contém o ID do plano de energia atual. Todos os IDs relacionados ao gerenciamento de energia são GUIDs, mas minhas pesquisas rápidas mostram que os padrões são os mesmos em todas as máquinas. As subchaves de PowerSchemes
são, bem, esquemas de energia. 381b4222-f694-41f0-9685-ff5bb260df2e
, por exemplo, é Equilibrado (recomendado) .
Assubchavesdaschavesdoesquemadeenergiasãocategoriascomoaparecemnasopçõesavançadasdeenergia.EstessãodefinidosnasubchavePowerSettings
dePower
.Porexemplo,0012ee47-9041-4b5d-9b77-535fba8b1442
éDiscorígidocomovistonaimagemacima.Assubchavesdeaquelassãoasconfiguraçõesindividuais.6738e2c4-e8a5-4a42-b16a-e040e769756e
isDesligueodiscorígidoapós.EssaschavestêmumasubchaveDefaultPowerSchemeValues
,quetemumasubchaveparacadaplanodeenergiapadrão.EssaschavestêmumaentradaAcSettingIndex
eDcSettingIndex
quesãoexatamenteoquevocêpensa.Asunidadesusadasvariamdeconfiguraçãoparaconfiguração;esteusasegundos.Assim,vocêpodeverqueotempolimitededesligamentododiscorígidopadrãoparaoplanodeenergiaBalanceadaéde1200segundos(20minutos)quandoconectadoe600segundos(10minutos)combateria.
Agora,voltemosàchaveUser\PowerSchemes
.Comoousuáriopodenuncateralteradoasconfigurações,nãohágarantiadequeachaveteráentradasdeconfiguraçãoACeDC,asubchavedeconfiguraçãoouatémesmoasubchavedecategoria.Seovalorquevocêestáprocurandonãoestiverlá,vocêprecisaráverificarovalorpadrãodoplanodeenergiaatualemPowerSettings\DefaultPowerSchemeValues
.
Observeque,emboratodospossamleressaschavesevalores,nemmesmoosadministradorespodemescrever.IssoporqueasconfiguraçõesdeenergiadevemsergerenciadaspormeiodoPower
service,queéexecutadocomoSYSTEM
.
Osdesenvolvedoresdeaplicativoscompilados(C++)devemusarainterfacedocumentadaparagerenciamentodeenergia.LigueparaGetCurrentPowerPolicies
, obtenha o user
parte do POWER_POLICY
estrutura e observe os SpindownTimeoutAc
e SpindownTimeoutDc
valores.