Empecher l'affichage d'une fenêtre dans WM_SHOWWINDOW

Signaler
Messages postés
223
Date d'inscription
mercredi 13 juillet 2005
Statut
Membre
Dernière intervention
8 août 2011
-
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
-
Bonjour,

Je voudrai savoir si on peux empecher l'affichage d'une fenêtre dans le WM_SHOWWINDOW, j'ai essayé return 1 et return -1, même ShowWindow(hwd, SW_HIDE), mais ça ne fonctionne pas.
En fait c'est une protection que je veux mettre pour empêcher qu'une application externe n'affiche la fenêtre de mon programme avec la fonction ShowWindow justement.
Sinon si c'est pas possible et si vous avez une idée de comment faire ça je suis preneur,
merci d'avance
A voir également:

4 réponses

Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
une solution consiste à vérifier que wPram est égal à  SW_SHOW et que lPram est nul ( action causée par un appel à ShowWindow() ), puis envoyer ce même message à la fenêtre avec SendMessage. Le dernier paramètre ne doit pas être nul sinon ça bouclera à l'infini.

    case WM_SHOWWINDOW:
        if(wParam==1 && lParam==0)
            SendMessage(hwnd,WM_SHOWWINDOW,(WPARAM) SW_HIDE, SW_PARENTCLOSING);
    break;
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
if(wParam==SW_SHOW && lParam==0)
Messages postés
223
Date d'inscription
mercredi 13 juillet 2005
Statut
Membre
Dernière intervention
8 août 2011

Merci racpp mais ça ne fonctionne pas , wParam est a TRUE lors de l'affichage de la fenêtre il suffit de faire :

case WM_SHOWWINDOW:
    if ((wParam == TRUE) empêcher l'affichage.
    break;

Mais c le "empêcher l'affichage" la qui me bloque, je sais pas comment m'y prendre et SendMessage(hwnd,WM_SHOWWINDOW,(WPARAM) SW_HIDE, SW_PARENTCLOSING); ne fonctionne pas.
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
L'essenciel c'est que wParam ne soit pas nul. TRUE ou SW_SHOW c'est pareil ici.
J'ai fait les tests, et le sendmessage fonctionne parfaitement chez moi. La fenêtre disparait aussitot qu'elle reçoit le message WM_SHOWWINDOW.