Accueil > > > CONTRÔLE DE LA LUMINOSITÉ DE L'ÉCRAN
CONTRÔLE DE LA LUMINOSITÉ DE L'ÉCRAN
Information sur la source
Description
Suite au message posté au http://www.csharpfr.com/forum.v2.aspx?ID=552660 J' ai décidé de faire une enquête afin de trouver le moyen de contrôler la luminosité de l'écran. Après documentation, j'ai fini par réaliser ce petit programme.
Source
- using System;
- using System.Runtime.InteropServices;
-
- namespace ScreenBrightness
- {
-
- public class screenBrightness
- {
- //on importe les fonctions necessaires
- [DllImport("gdi32.dll",CharSet = CharSet.Auto)]
- public static extern bool SetDeviceGammaRamp(IntPtr hDc,
- [MarshalAs(UnmanagedType.LPArray)] ushort[,] lpRamp);
- [DllImport("user32.dll",CharSet = CharSet.Auto)]
- public static extern IntPtr GetDC(IntPtr hWnd);
-
- IntPtr screenDC;
-
- public screenBrightness(IntPtr hDC)
- {
- screenDC = hDC;
- }
-
- public bool setBrightness(int b)
- {
- IntPtr gammaDC;
- if(screenDC==IntPtr.Zero)
- {
- gammaDC = GetDC(IntPtr.Zero);
- } else gammaDC = screenDC;
-
- if(gammaDC == IntPtr.Zero) return false;
-
- ushort[,] gammaArray = new ushort[3,256];
-
- for (int i = 0; i < 256; i++)
- {
- int arrayValue = i * (b + 128);
-
- if (arrayValue > 65535)
- arrayValue = 65535;
-
- gammaArray[0, i] =
- gammaArray[1, i] =
- gammaArray[2, i] = (ushort)arrayValue;
-
- }
-
- return SetDeviceGammaRamp(gammaDC, gammaArray);
- }
- }
- }
using System;
using System.Runtime.InteropServices;
namespace ScreenBrightness
{
public class screenBrightness
{
//on importe les fonctions necessaires
[DllImport("gdi32.dll",CharSet = CharSet.Auto)]
public static extern bool SetDeviceGammaRamp(IntPtr hDc,
[MarshalAs(UnmanagedType.LPArray)] ushort[,] lpRamp);
[DllImport("user32.dll",CharSet = CharSet.Auto)]
public static extern IntPtr GetDC(IntPtr hWnd);
IntPtr screenDC;
public screenBrightness(IntPtr hDC)
{
screenDC = hDC;
}
public bool setBrightness(int b)
{
IntPtr gammaDC;
if(screenDC==IntPtr.Zero)
{
gammaDC = GetDC(IntPtr.Zero);
} else gammaDC = screenDC;
if(gammaDC == IntPtr.Zero) return false;
ushort[,] gammaArray = new ushort[3,256];
for (int i = 0; i < 256; i++)
{
int arrayValue = i * (b + 128);
if (arrayValue > 65535)
arrayValue = 65535;
gammaArray[0, i] =
gammaArray[1, i] =
gammaArray[2, i] = (ushort)arrayValue;
}
return SetDeviceGammaRamp(gammaDC, gammaArray);
}
}
}
Conclusion
Je tiens a dire merci aux auteurs de cet page dont je me suis beaucoup inspiré: http://www.nirsoft.net/vc/change_screen_b rightness.html
Historique
- 30 novembre 2005 02:19:27 :
- ajout de mots-clés
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
un bon livre sur l'API win32 [ par nicolaslepot ]
Salut,Je suis à la recherche d'un cours qui explique les principales fonctions de l'api win32 pour winXP et win2003. Un bon livre ou un bon pdf. Je ne
API win32 et C# [ par sokotanic ]
salut j'aimerai utilise API WIN32 en visual studio C# comment je peux le faire ? merci avance
Modifier la luminosité et le contraste de l'écran [ par Lepripri ]
Bonjour,je souhaiterais savoir s'il est possible de modifier le contraste et la luminosité de l'écran sans passer par les touches placées sur l'écran
WinFX vs Win32 [ par badrbadr ]
Salut chers .Netiens; Après avoir essayer plusieurs langages de programmation et plusieurs API, j’ai fini par trouver ma plateforme de r
comment obtenir la documentation SDK de C#2.0 [ par alecccc ]
BonjourEn fait je cherche à avoir la liste de toutes les classes,methodes bref la documentation de l'API C#2.O comme on l'a en java (http://java.sun.c
Plein-écran : réaction bizarre ? [ par bubbathemaster ]
J'ai une application qui est sensé se mettre en plein écran via ce ptit code :FullScreen est une variable globale de type boolean qui determine si l'a
Evénement n'importe ou sur l'écran [ par hibouman ]
Je débute en c# et j'aurais aimé quelque chose dans ce genre là: quelque_soit_l'endroit_sur_l'écran.Click += new EventHandler(écran_Click);...sta
Capture d'écran et fuite mémoire [ par Nikoui ]
J'utilise un morceau de code assez "banal" pour effectuer une capture d'écran. Cependant, dans mon projet, j'effectue de nombreuses captures d'écran..
API Live Messenger [ par Bidou ]
Bonjour,Je recherche des APIS pour Windows Live Messenger. Il me semble que j'avais entendu parlé de quelques chose comme ça, mais après quelques rech
Equivalent Err.Raise... [ par PeTeRsLaStAr ]
Bonjour à toutes et à tous (toutes ???...)Voilà j'ai un problème dans mon code. Je dois utiliser une API fournie par la société par laquelle je travai
|
Derniers Blogs
TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVéTECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVé par ROMELARD Fabrice
Speaker : Guillaume Rochette Cette session est dédiée à fournir le retour sur la mise en place d'un cloud privé (IaaS) par Osiatis pour son compte ou celui de ses clients. Ce projet s'est déroulé sur 4 mois et a permis de faire évoluer...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYSTECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYS par ROMELARD Fabrice
Speakers : Lionel Limozin et Alain Marty La session commence par une découverte de SharePoint à travers la mise en place d'un environnement SharePoint pour la gestion des Sessions animées par BeWise. Le besoin est très ba...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|