ChangeDisplaySettingsA, fonction (winuser.h)
La fonction ChangeDisplaySettings modifie les paramètres de l’appareil d’affichage par défaut en mode graphique spécifié.
Pour modifier les paramètres d’un appareil d’affichage spécifié, utilisez la fonction ChangeDisplaySettingsEx.
Syntaxe
LONG ChangeDisplaySettingsA(
[in] DEVMODEA *lpDevMode,
[in] DWORD dwFlags
);
Paramètres
[in] lpDevMode
Pointeur vers une structure DEVMODE
Le
Membre | Signification |
---|---|
dmBitsPerPel | Bits par pixel |
dmPelsWidth | Largeur des pixels |
dmPelsHeight | Hauteur des pixels |
dmDisplayFlags | Indicateurs de mode |
dmDisplayFrequency | Fréquence du mode |
dmPosition | Position de l’appareil dans une configuration à plusieurs moniteurs. |
En plus d’utiliser un ou plusieurs membres DEVMODE précédents, vous devez également définir une ou plusieurs des valeurs suivantes dans le membre dmFields pour modifier le paramètre d’affichage.
Valeur | Signification |
---|---|
DM_BITSPERPEL | Utilisez la valeur dmBitsPerPel. |
DM_PELSWIDTH | Utilisez la valeur dmPelsWidth. |
DM_PELSHEIGHT | Utilisez la valeur dmPelsHeight. |
DM_DISPLAYFLAGS | Utilisez la valeur dmDisplayFlags. |
DM_DISPLAYFREQUENCY | Utilisez la valeur dmDisplayFrequency |
DM_POSITION | Utilisez la valeur dmPosition |
[in] dwFlags
Indique comment le mode graphique doit être modifié. Ce paramètre peut être l’une des valeurs suivantes.
La spécification de CDS_TEST permet à une application de déterminer quels modes graphiques sont réellement valides, sans que le système passe à ce mode graphique.
Si CDS_UPDATEREGISTRY est spécifié et qu’il est possible de modifier le mode graphique dynamiquement, les informations sont stockées dans le Registre et DISP_CHANGE_SUCCESSFUL est retournée. S’il n’est pas possible de modifier le mode graphique dynamiquement, les informations sont stockées dans le Registre et DISP_CHANGE_RESTART est retournée.
Si CDS_UPDATEREGISTRY est spécifié et que les informations n’ont pas pu être stockées dans le Registre, le mode graphique n’est pas modifié et DISP_CHANGE_NOTUPDATED est retourné.
Valeur de retour
La fonction ChangeDisplaySettings retourne l’une des valeurs suivantes.
Retourner le code | Description |
---|---|
|
La modification des paramètres a réussi. |
|
La modification des paramètres a échoué, car le système est compatible avec DualView. |
|
Un ensemble d’indicateurs non valide a été passé. |
|
Le mode graphique n’est pas pris en charge. |
|
Un paramètre non valide a été passé. Cela peut inclure un indicateur non valide ou une combinaison d’indicateurs. |
|
Le pilote d’affichage a échoué en mode graphique spécifié. |
|
Impossible d’écrire des paramètres dans le Registre. |
|
L’ordinateur doit être redémarré pour que le mode graphique fonctionne. |
Remarques
Pour vous assurer que la structure DEVMODE passée à ChangeDisplaySettings est valide et contient uniquement des valeurs prises en charge par le pilote d’affichage, utilisez la DEVMODE retournée par la fonction EnumDisplaySettings.
Lorsque le mode d’affichage est modifié dynamiquement, le message WM_DISPLAYCHANGE est envoyé à toutes les applications en cours d’exécution avec les paramètres de message suivants.
Paramètres | Signification |
---|---|
wParam | Nouveaux bits par pixel |
LOWORD(lParam) | Nouvelle largeur de pixel |
HIWORD(lParam) | Nouvelle hauteur de pixel |
virtualisation d'ppp
Cette API ne participe pas à la virtualisation DPI. L’entrée donnée est toujours en termes de pixels physiques et n’est pas liée au contexte appelant.Note
L’en-tête winuser.h définit ChangeDisplaySettings comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
serveur minimum pris en charge | Windows 2000 Server [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | winuser.h (include Windows.h) |
bibliothèque | User32.lib |
DLL | User32.dll |
ensemble d’API | ext-ms-win-ntuser-sysparams-ext-l1-1-1 (introduit dans Windows 10, version 10.0.14393) |
Voir aussi
fonctions de contexte d’appareil