Cómo evitar que el brillo de la pantalla del portátil cambie al desconectar o enchufar la batería

Cómo evitar que el brillo de la pantalla del portátil cambie al desconectar o enchufar la batería

Cuando uso mi computadora portátil, ajusto continuamente el brillo de la pantalla según las condiciones de iluminación de la habitación (por ejemplo, cuánta luz entra por las ventanas, etc.). Pero si desconecto la computadora portátil o la vuelvo a enchufar, Windows busca la configuración de brillo predeterminada en el perfil de energía para "con batería" o "enchufada" y cambia el brillo en consecuencia. Esta es una experiencia discordante y luego tengo que volver a buscar el brillo ideal para mi situación actual, en lugar de seguir con mi trabajo.

Me gustaría lograr que conectar o desconectar la batería no sea un disparador que ajuste el brillo de la pantalla en absoluto. El brillo de la pantalla sólo debería cambiar cuando lo ajusto yo mismo. ¿Alguien sabe cómo se podría lograr esto?

Editar: encontré este problema tanto en Windows Vista como en Windows 7.

Respuesta1

Ok, después de unas horas de ejercicios cerebrales, hice este script de PowerShell... aquí está.

while($true)
{

$a = Get-WmiObject -ns root/wmi -class wmiMonitorBrightNess
$a1 = $a.Currentbrightness

$b = Get-WmiObject -ns root/wmi -class batterystatus
$b1 = $b.poweronline

start-sleep 1

$b = Get-WmiObject -ns root/wmi -class batterystatus
$b2 = $b.poweronline

If ($b2 -ne $b1)
{
$c = Get-WmiObject -ns root/wmi -class wmiMonitorBrightNessMethods
$c.WmiSetBrightNess(0,$a1)
}

}

Copie en el bloc de notas y guárdelo con la extensión ".ps1".

Lo que hace es comprobar con frecuencia si el estado de alimentación está enchufado o no. Si se cambia el estado de energía, se restaurará el valor de brillo anterior.

Probé esto en mi computadora portátil con Win8.1 y funciona bien.

  • Puede ajustar la capacidad de respuesta modificando start-sleepel valor (actualmente es 1 segundo)

  • Para ejecutar este script, la política de ejecución de Powershell debe cambiarse de forma predeterminada.

  • Este script es sólo un ejemplo teórico; en la práctica, las ventanas de PowerShell permanecerán abiertas, lo que puede resultar problemático para algunos. No estoy discutiendo las formas de ocultar la ventana.

Respuesta2

Me estaba enojando con el mismo problema porque la solución de Nomad y DrNT007 funcionó muy bien.

Busqué un poco en la red para ocultar la ventana de PowerShell y llegué aeste hiloy encontradosolución del usuario2656928lo que mejor me conviene: simplemente agregue el siguiente código en la parte superior del script DrNT007 y la ventana de PowerShell se mostrará momentáneamente y luego desaparecerá:

$t = '[DllImport("user32.dll")] public static extern bool ShowWindow(int handle, int state);'
add-type -name win -member $t -namespace native
[native.win]::ShowWindow(([System.Diagnostics.Process]::GetCurrentProcess() | Get-Process).MainWindowHandle, 0)

Luego quise poner el script en la carpeta de inicio de Windows pero me dio un error. Definitivamente soy un novato y resolví este problema simplemente por prueba y error: descubrí que el nombre del script (y supongo que su ruta) NO debe contener espacios pero, aún así, no puedo entender por qué da error si es directamente poner en la ventana de inicio... De todos modos, lo puse en la carpeta de Windows y lo atajé en la carpeta de inicio. De esta manera, en Windows 8.1, funciona a las mil maravillas.

Respuesta3

ventanas 7,

busque en Panel de control\Hardware y sonido\Opciones de energía\Editar configuración del plan\

Con batería o enchufado

Respuesta4

Por debajo del brillo de la pantalla atenuado se debe habilitar el brillo adaptativo. Apáguelo y mantendrá el mismo brillo ya sea que esté brillante u oscuro.

información relacionada