Plein écran de gestion avec WinAPI

Comment bien utiliser la WinAPI pour gérer le mode plein écran sur windows de la fenêtre ?

Voici mon problème :

J'ai une application qui doit être en plein écran.
J'utilise ChangeDisplaySettings() fonction (winuser.h) à l'CDS_FULLSCREEN la valeur à mettre ma fenêtre en mode plein écran lors de la réception d'un WM_ACTIVATE avec (wParam == WA_ACTIVE || wParam == WA_CLICKACTIVE) :

DEVMODE dmScreenSettings;
memset (&dmScreenSettings, 0, sizeof (dmScreenSettings));
dmScreenSettings.dmSize = sizeof (dmScreenSettings);   
dmScreenSettings.dmPelsWidth = 1280;
dmScreenSettings.dmPelsHeight = 720;    
dmScreenSettings.dmBitsPerPel = 32;      
dmScreenSettings.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT;
ChangeDisplaySettings(&dmScreenSettings, CDS_FULLSCREEN);

- Je utiliser la même fonction avec le CDS_RESET valeur pour le mettre en mode "normal" lors de la réception d'un WM_ACTIVATE avec (wParam == WA_INACTIVE) :

ChangeDisplaySettings(&dmScreenSettings, CDS_RESET);

Quand j'ai lancer mon application, il est en plein écran.
J'utilise ALT+TAB pour basculer vers une autre application sur mon ordinateur. Mon application minimisée lui-même. Il fonctionne bien.
Ensuite, je passe à ma demande, et elle revient en mode plein écran. Encore une fois, il fonctionne bien.
Mais si je veux revenir à une autre application, une fois de plus, ma demande statys en mode plein écran, masquant toutes les autres applications sur mon ordinateur.

NB : Ma fenêtre est créée à l'aide de CreateWindowEx() la fonction avec les paramètres suivants :

DWORD dwExStyle = WS_EX_TOPMOST;
DWORD dwStyle = WS_VISIBLE | WS_POPUP;

1) Est-il un autre moyen que d'utiliser ChangeDisplaySettings() pour changer le mode plein écran ?

2) Suis-je utiliser les bonnes valeurs ?

3) il n'y a rien à faire que j'ai oublié ?

Merci d'avance pour toutes vos réponses.
Meilleures salutations,

  • Juste pour le plaisir, ce qui se passe lorsque vous appuyez sur la touche F11 de votre clavier?
  • tout simplement rien... Mon objectif est de forcer ma demande pour être en plein écran depuis qu'il est activé. Si j'appuie sur F11 lorsque mon application est... Il est déjà en plein écran... Donc la touche F11 n'a aucun effet.
  • Voir la nouvelle édition ci-dessous. Cela devrait vous permettre de voir quel est l'état de la fenêtre est actuellement en et de réglage (réduire) en conséquence. Avec de la chance.
InformationsquelleAutor Xavier V. | 2010-08-23