23

When I am using my laptop, I continually adjust the screen's brightness based on the lighting conditions in the room (e.g. how much light is coming in from windows, etc.). But if I unplug the laptop or plug it back in, Windows looks at the default brightness setting in the power profile for "on battery" or "plugged in" and changes the brightness accordingly. This is a jarring experience and then I have to hunt down the ideal brightness for my current situation again, rather than getting on with my work.

I would like to make it so that plugging or unplugging the battery is not a trigger that adjusts the screen brightness at all. The screen brightness should only change when I adjust it myself. Does anybody know how this might be accomplished?

Edit: I have encountered this issue in both Windows Vista and Windows 7.

4
  • 3
    That setting is in the power options in Windows.
    – Moab
    Sep 7, 2012 at 2:24
  • 1
    Moab, I don't believe there is a setting for this in the power options. See reply to the answer below.
    – Nomad
    Sep 7, 2012 at 3:12
  • A solution including a PowerShell script and Task Schedule config can be found here: intrepidis.blogspot.co.uk/2018/05/…
    – intrepidis
    May 1, 2018 at 22:21
  • The Windows 10 "May 2019 Update" finally has just a common brightness settings, so it won't change brightness anymore when you connect or disconnect the charger.
    – skrause
    Jun 16, 2019 at 15:14

7 Answers 7

8

Ok, after few hours of brain excercies i have made this powershell script..here it is

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)
}

}

Copy in notepad and save with ".ps1" extension.

What it does is, it frequently checks for the power state plugged in or not. If power state is changed it will restore the previous brightness value.

I have tested this in my laptop with Win8.1, works fine.

  • You can adjust the responsiveness by modifying start-sleep value (currently it is 1 second)

  • To run this script Powershell execution policy must be changed from default.

  • This script is only theoretical example, in practice the powershell windows will remain open, may be problematic for some. I am not discussing the ways to hide the window.

1
  • 1
    This script seems to work, but has one little problem: ever-increasing memory. Add [GC]::Collect() to the end of the loop and make sure you have the latest powershell by following this page. Why you should update.
    – Didii
    Aug 19, 2016 at 10:35
4

I was getting mad with the same problem as Nomad's and DrNT007's solution worked great.

I searched a bit on the net in order to hide the powershell window and came to this thread and found user2656928's solution the best suiting for me: just add the following code at the top of DrNT007's script and the powershell window will momentarily show and then vanish:

$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)

Then, I wanted to put the script in the windows startup folder but it gave me an error. I'm definitely a noob and solved this problem just by trial and error: I found out that the script name (and its path, i presume) must NOT contain spaces but, still, I can't understand why it gives error if directly put in the startup window... Anyway, i have put it in the windows folder and shortcutted it in the startup folder. This way, in Windows 8.1, works like a charm.

0

windows 7,

look in the Control Panel\Hardware and Sound\Power Options\Edit Plan Settings\

On Battery or Plugged In

1
  • 3
    None of the options I see in Plan Settings will help. I have to select a default brightness for "On Battery" and a default brightness for "Plugged In". Thus, whenever I plug in or unplug the laptop, it checks the relevant default setting and adjusts it to that. But what I want is for nothing to happen when I unplug or plug in the laptop. Please correct me if there is something I am not seeing in those settings.
    – Nomad
    Sep 7, 2012 at 3:11
-2

Open Power Options > Change Plan Settings (for the power plan that has the radio button selected) > Change Advanced Power Settings > Display > Display Brightness

Set "On Battery" to the same percentage as "plugged in" by left clicking the "on battery" text

enter image description here

3
  • 6
    That doesn't help. Please read everything I wrote above. Also, let me explain what happens when I use your suggestion. I set the "on battery" and "plugged in" both to same setting, for example 50%. Then, because too much light in coming in from the windows of the house, I adjust the brightness up to 100% (using the shortcut keys, not using the power profile, because that's a lot of screens to click through, considering the sun might go behind a cloud a few seconds later). When I unplug the computer, it resets to 50%. I don't want that to happen.
    – Nomad
    Sep 7, 2012 at 18:15
  • All I can suggest is to see if there is a screen brightness setting in the bios, some laptops have this some don't
    – Moab
    Sep 7, 2012 at 18:30
  • 1
    In my case these settings are completely ignored. I still have my screen changing brightness randomly. I have an Acer Aspire, Windows 8.1 and Intel Graphics Control Panel doesn't have a checkbox to disable power savings when plugged in. The service is already stopped. I don't want to install Intel panel because the screen could turn too dark.
    – derloopkat
    Jan 30, 2016 at 3:16
-2

Below dimmed display brightness should be enable adaptive brightness. Turn that off and it will stay the same brightness whether it's bright or dark.

1
  • 3
    It sounds like you misunderstood. I like to adjust the brightness manually (and my computer does not have an adaptive brightness feature anyway). What I want to stop is how the brightness it automatically reset whenever I plug in or unplug the laptop power.
    – Nomad
    Aug 12, 2013 at 16:16
-2

For me (on an HP EliteBook 8570w), I had to change a graphics card power settings:

Control Panel -> Power Options -> Edit Plan Settings -> Change advanced power settings -> ATI Graphics Power Settings -> ATI Powerplay Settings -> On battery to "Maximize Performance" instead of “Maximize Battery Life”

You will also, of course, want to make sure the Display Brightness on battery is set to 100% as others have mentioned.

0
-2

For all HP/Compaq Laptops could this be working: - look at section "Adjust the LCD brightness using the function keys" http://h10025.www1.hp.com/ewfrf/wc/document?cc=us&lc=en&docname=c00832191

I unplugged the AC adapter/charger and pressed Fn+F8 (2-3 times should get to 100%) to bright up the display; Fn+F7 to lower the brightness. I had to plug in the AC adapter and unplug it so the changes I made, would show.

Using the Control Panel -> "Video Driver Name"[*] -> Display Settings -> Power Settings -> Intel Display Power Saving Technology -> Maximum Quality vs. Maximum Battery => Didn't do anything to me, but maybe was necessary a computer restart...

[*] (mine is Intel GMA Driver for Mobile) and it could be ATI, etc. as well.

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .