Partager via


Utilisation des fonctions de configuration High-Level Monitor

Énumération des moniteurs physiques

Il existe plusieurs fonctions qui énumèrent les appareils d’affichage, notamment EnumDisplayMonitors et MonitorFromWindow. Ces fonctions sont documentées dans la documentation Windows GDI, sous la rubrique Plusieurs moniteurs d’affichage. Ces fonctions retournent des handles HMONITOR . Malgré le nom, toutefois, un handle HMONITOR peut être associé à plusieurs moniteurs physiques. Pour configurer les paramètres sur un moniteur, l’application doit obtenir un handle unique pour le moniteur physique en appelant GetPhysicalMonitorsFromHMONITOR.

Si votre application utilise Direct3D, vous pouvez obtenir un handle de moniteur à partir d’un appareil Direct3D en appelant GetPhysicalMonitorsFromIDirect3DDevice9.

Fonctions prises en charge

Un moniteur peut ne pas prendre en charge toutes les fonctions de configuration du moniteur. Pour connaître les fonctions qu’un moniteur prend en charge, appelez GetMonitorCapabilities.

Paramètres du moniteur continu

Un paramètre de moniteur continu peut être compris entre une valeur minimale et une valeur maximale. La plupart des fonctions de configuration de moniteur de haut niveau contrôlent les paramètres de surveillance continue. Par exemple, la luminosité et le contraste sont des paramètres continus.

Les paramètres de surveillance continue n’ont pas d’unités réelles définies. Les unités sont arbitraires et peuvent varier d’un fabricant à l’autre. Si deux moniteurs ont la même valeur de luminosité, par exemple, un moniteur peut paraître beaucoup plus brillant qu’un autre. En règle générale, une application présente des contrôles de curseur ou des contrôles vers le bas à l’utilisateur. L’utilisateur peut ensuite ajuster les paramètres pour donner la meilleure qualité subjective.

Modifications de l’état du moniteur

Un moniteur peut changer d’état pour diverses raisons, notamment :

  • L’utilisateur modifie les paramètres avec les contrôles du panneau avant du moniteur.
  • L’utilisateur modifie la résolution d’écran, la fréquence d’actualisation ou la profondeur de bits du moniteur.
  • L’application utilise les fonctions de moniteur de bas niveau pour modifier un paramètre qui n’est pas accessible à partir des fonctions de haut niveau.
  • L’application appelle RestoreMonitorFactoryColorDefaults ou RestoreMonitorFactoryDefaults.

Tous ces événements peuvent modifier les paramètres du moniteur. Ils peuvent également modifier la valeur minimale et maximale d’un paramètre.

Dépendances entre les paramètres du moniteur

La modification de la température de couleur peut modifier le lecteur actuel et obtenir des paramètres, et l’inverse est également vrai. Il s’agit des seules dépendances entre les fonctions de configuration de moniteur de haut niveau. D’autres paramètres peuvent être accessibles uniquement par le biais des fonctions de moniteur de bas niveau. Il peut y avoir des dépendances entre ces paramètres et les paramètres généraux. Ces dépendances sont spécifiques au fournisseur. Une application peut gérer ce problème de plusieurs façons :

  • Utilisez uniquement des fonctions de haut niveau.
  • Après avoir appelé une fonction de bas niveau, obtenez la valeur actuelle de chaque paramètre de moniteur. Malheureusement, cette approche peut être lente, car l’obtention de chaque paramètre prend environ 40 millisecondes.
  • Utilisez des fonctions de bas niveau uniquement avec des modèles de moniteur spécifiques dont vous comprenez le comportement.

Paramètres du moniteur désactivés

Une application ne peut pas désactiver les paramètres d’analyse en appelant les fonctions de moniteur de haut niveau. Toutefois, une application peut désactiver accidentellement un paramètre si elle utilise les fonctions de bas niveau pour modifier un paramètre de moniteur qui n’est pas pris en charge par les fonctions de haut niveau. En outre, un utilisateur peut désactiver un paramètre à l’aide du contrôle du panneau frontal. Ces comportements sont spécifiques au fournisseur.

Si un paramètre de moniteur est désactivé, toute fonction qui définit ou récupère ce paramètre échoue et définit le code de la dernière erreur sur ERROR_DISABLED_MONITOR_SETTING. Dans ce cas, l’application peut effectuer l’une des opérations suivantes :

  • Affichez un message d’erreur et suggèrez à l’utilisateur d’essayer d’ajuster le paramètre à l’aide du contrôle du panneau avant.
  • Appelez la fonction RestoreMonitorFactoryDefaults . Si un moniteur a l’indicateur de fonctionnalités MC_RESTORE_FACTORY_DEFAULTS_ENABLES_MONITOR_SETTINGS, cette fonction active tous les paramètres d’analyse pris en charge par les fonctions de moniteur de haut niveau. Malheureusement, la fonction réinitialise également les paramètres du moniteur à leur valeur d’usine par défaut.

Utilisation de la configuration du moniteur