当我使用笔记本电脑时,我会根据房间的照明条件(例如从窗户射入的光线量等)不断调整屏幕亮度。但是,如果我拔下笔记本电脑的电源或将其重新插入,Windows 会查看电源配置文件中“使用电池”或“插入电源”的默认亮度设置,并相应地更改亮度。这是一种令人不快的体验,然后我不得不再次寻找适合我当前情况的理想亮度,而不是继续工作。
我想让插拔电池根本不会触发屏幕亮度的调整。只有当我自己调整屏幕亮度时,屏幕亮度才会改变。有人知道这怎么实现吗?
编辑:我在 Windows Vista 和 Windows 7 中都遇到了这个问题。
答案1
好的,经过几个小时的脑力训练,我编写了这个 powershell 脚本。它在这里
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)
}
}
在记事本中复制并以“.ps1”扩展名保存。
它的作用是,频繁检查电源状态是否已插入。如果电源状态发生变化,它将恢复之前的亮度值。
我已经在装有 Win8.1 的笔记本电脑上测试过,运行良好。
您可以通过修改值来调整响应速度
start-sleep
(目前是1秒)要运行此脚本,必须更改 Powershell 执行策略的默认设置。
此脚本仅是理论示例,实际上 powershell 窗口将保持打开状态,对某些人来说可能会有问题。我不讨论隐藏窗口的方法。
答案2
我被与 Nomad 相同的问题所困扰,但 DrNT007 的解决方案非常有效。
我在网上搜索了一下如何隐藏 powershell 窗口,最后找到了此主题并发现user2656928 的解决方案最适合我:只需在 DrNT007 脚本的顶部添加以下代码,powershell 窗口就会暂时显示然后消失:
$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)
然后,我想将脚本放入 Windows 启动文件夹中,但它给出了一个错误。我绝对是个菜鸟,只是通过反复试验解决了这个问题:我发现脚本名称(我猜想还有它的路径)不能包含空格,但我仍然不明白为什么如果直接放入启动窗口会出错... 无论如何,我已将其放入 Windows 文件夹中,并将其快捷方式放在启动文件夹中。这样,在 Windows 8.1 中,效果很好。
答案3
Windows 7的,
查看控制面板\硬件和声音\电源选项\编辑计划设置\
使用电池或插入电源
答案4
低于暗淡的显示亮度应启用自适应亮度。关闭此功能后,无论亮暗,亮度都会保持不变。