Changer la luminosité

Fermé
_Pseudonyme Messages postés 84 Date d'inscription jeudi 2 novembre 2017 Statut Membre Dernière intervention 26 avril 2018 - 16 févr. 2018 à 19:21
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 19 févr. 2018 à 11:35
Salut, après avoir longuement chercher je n'ai pas trouver comment modifier la luminosité de son écran d'ordinateur via une commande. Si quelqu’un connaîtrait une commande en c ou avec un autre langage de programmation pour modifier sa luminosité se serai sympa de votre part :)
A voir également:

1 réponse

[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
19 févr. 2018 à 11:35
Salut _Pseudonyme,

En C, tu peux faire cela avec l'API Windows. Cependant, ce n'est pas "une commande", c'est un peu plus compliqué que cela.

Donc, sous Windows, à partir de Windows Vista, tu disposes d'une fonction SetMonitorBrightness dans l'API de Microsoft.

https://docs.microsoft.com/en-us/windows/win32/api/highlevelmonitorconfigurationapi/nf-highlevelmonitorconfigurationapi-setmonitorbrightness?redirectedfrom=MSDN

Pour utiliser cette fonction, tu dois récupérer un handle vers le(s) moniteurs installés sur ta machine.

tu peux faire cela avec GetPhysicalMonitorsFromHMONITOR

https://docs.microsoft.com/en-us/windows/win32/api/physicalmonitorenumerationapi/nf-physicalmonitorenumerationapi-getphysicalmonitorsfromhmonitor?redirectedfrom=MSDN (tu as un code d'exemple en C)

qui va te renvoyer un pointeur vers un tableau de struct PHYSICAL_MONITOR, qui contient le handle et une chaîne de texte de description du moniteur.

Avant de faire tout cela, tu devrais vérifier que ton moniteur supporte ces fonctions, avec GetMonitorCapabilities

https://docs.microsoft.com/en-us/windows/win32/api/highlevelmonitorconfigurationapi/nf-highlevelmonitorconfigurationapi-getmonitorcapabilities?redirectedfrom=MSDN

Sinon, en ligne de commande, Windows dispose de la commande powercfg, à laquelle tu peux passer l'option /setdcvalueindex avec les bons GUID. Tu te prendras moins la tête qu'en C.

https://docs.microsoft.com/en-us/windows-hardware/design/device-experiences/powercfg-command-line-options#option_setdcvalueindex

Si tu es sous un autre système d'exploitation que Windows, précise lequel.


Dal
0