Bonjour a tous,
je suis en train de créer une barre de controle qui se situera sur le coté gauche du bureau. j'utilise la fonction
pour définir un bureau plus petit, de manière a ce que les fenetres maximisées ne soient pas "au dessus" de ma barre de controle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ::SystemParametersInfoW(SPI_SETWORKAREA,0,m_DimPinnedDesktop,SPIF_SENDCHANGE);
ceci fonctionne parfaitement si je maximise une fenetre par la suite, mais si une fenetre est déja maximisée, je n'arrive pas à lui dire de faire un mise a jour de l'affichage.
j'ai essayé des truc du genre :
Mais rien n'y fait. Si quelqu'un sait comment s'y prendre... Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 ::SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE,0 , 0); //ou alors CWnd* pWnd = CWnd::GetDesktopWindow( )->GetTopWindow( ); while( 1 ) { pWnd = pWnd->GetNextWindow(); if ( pWnd == NULL ) break; if(pWnd->GetStyle() & SW_SHOWMAXIMIZED && pWnd->IsWindowVisible()) { ::SendMessage(pWnd->GetSafeHwnd(),WM_SETTINGCHANGE , 0, 0); //ou bien aussi pWnd->ShowWindow(SW_SHOWMAXIMIZED); } }
Partager