web-dev-qa-db-fra.com

Comment empêcher la luminosité de l'écran d'un ordinateur portable de changer lorsque vous débranchez / débranchez l'alimentation de la batterie

Lorsque j'utilise mon ordinateur portable, j'ajuste en permanence la luminosité de l'écran en fonction des conditions d'éclairage de la pièce (par exemple, la quantité de lumière provenant des fenêtres, etc.). Mais si je débranche l'ordinateur portable ou que je le rebranche, Windows recherche le paramètre de luminosité par défaut dans le profil d'alimentation pour "sur batterie" ou "connecté" et modifie la luminosité en conséquence. C'est une expérience bouleversante et je dois alors retrouver la luminosité idéale pour ma situation actuelle, plutôt que de continuer mon travail.

Je voudrais faire en sorte que brancher ou débrancher la batterie ne soit pas un déclencheur qui règle la luminosité de l'écran. La luminosité de l'écran ne devrait changer que lorsque je l'ajuste moi-même. Est-ce que quelqu'un sait comment cela pourrait être accompli?

Edit: J'ai rencontré ce problème dans Windows Vista et Windows 7.

21
Nomad

Ok, après quelques heures d’exercices cérébraux, j’ai réalisé ce script PowerShell..il est ici

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

}

Copier dans le bloc-notes et enregistrer avec l'extension ".ps1".

Ce qu’il fait, il vérifie fréquemment l’état d’alimentation branché ou non. Si l'état d'alimentation est modifié, la valeur de luminosité précédente est restaurée.

J'ai testé cela dans mon ordinateur portable avec Win8.1, fonctionne bien.

  • Vous pouvez ajuster la réactivité en modifiant la valeur de start-sleep (actuellement, elle est d'une seconde).

  • Pour exécuter ce script, la politique d'exécution de Powershell doit être modifiée par défaut.

  • Ce script n’est qu’un exemple théorique. En pratique, les fenêtres Powershell resteront ouvertes, ce qui peut poser problème à certains. Je ne discute pas des moyens de cacher la fenêtre.

6
DrNT007

Je devenais en colère avec le même problème que Nomad et la solution de DrNT007 fonctionnait à merveille.

J'ai cherché un peu sur le net afin de cacher la fenêtre powershell et suis arrivé à ce fil et j'ai trouvé la solution de user2656928 la meilleure solution pour moi: ajoutez simplement le code suivant en haut du script de DrNT007 et la fenêtre powershell s'affichera momentanément, puis disparaîtra:

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

Ensuite, je voulais mettre le script dans le dossier de démarrage de Windows, mais cela me donnait une erreur. Je suis définitivement un noob et j'ai résolu ce problème simplement par essais et erreurs: j'ai découvert que le nom du script (et son chemin, je suppose) ne doit PAS contenir d'espaces, mais je ne comprends toujours pas pourquoi il donne une erreur si directement mis dans la fenêtre de démarrage ... Quoi qu'il en soit, je l'ai mis dans le dossier Windows et raccourci dans le dossier de démarrage. De cette façon, dans Windows 8.1, fonctionne comme un charme.

4
Jacopo Irace

windows 7,

regardez dans le Panneau de configuration\Matériel et audio\Options d'alimentation\Modifier les paramètres du plan \

Sur batterie ou branché

0
Logman