Hook WH_CBT et GetDlgItem [Résolu]

Signaler
Messages postés
235
Date d'inscription
mercredi 30 octobre 2002
Statut
Membre
Dernière intervention
6 octobre 2009
-
Messages postés
235
Date d'inscription
mercredi 30 octobre 2002
Statut
Membre
Dernière intervention
6 octobre 2009
-
Bonjour à tous,

J'ai un problème avec la fonction GetDlgItem (Qui retourne tous le temps 0) lorsque je suis dans ma fonction de callback de mon hook je vous explique :

Je réalise un hook (qui marche parfaitement) grâce à :
gHookCBT = SetWindowsHookEx(WH_CBT, CBTProc, gInstance, aThreadId);

Et voici ma fonction de callback (où est le problème) :
LRESULT CALLBACK CBTProc( int nCode,WPARAM wParam, LPARAM lParam)
{
        if (nCode == HCBT_CREATEWND)
        {
            CBT_CREATEWND * theCBT = (CBT_CREATEWND *) lParam;
           
            //PROBLEME ICI
            HWND theHwndWindow = GetDlgItem(theCBT->lpcs->hwndParent,(int)theCBT->lpcs->hMenu);
          
            DebugInfo("HWND=%d theHwndWindow);
        }
    return CallNextHookEx(gHookCBT, nCode, wParam, lParam);
}

Mon problème est donc à la fonction GetDlgItem qui me retourne tous le temps 0 alors que le theCBT->lpcs->hwndParent est correct (vérifier avec le soft que je hook) et que le theCBT->lpcs->hMenu est aussi correct.

Pourquoi cette fonction ne marche t'elle pas dans ce cas ?

Merci d'avance !

2 réponses

Messages postés
966
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
4 mars 2010
4
Ben, étant donné que la fenêtre n'a pas encore été créée, peut-être qu'elle n'apparaît pas encore dans la liste des fenêtres filles de la fenêtre parent et par conséquent...
mais pourquoi veux-tu récupérer le hwnd de cette manière, de toutes façons? Tu l'as d'office avec wParam ?!
Messages postés
235
Date d'inscription
mercredi 30 octobre 2002
Statut
Membre
Dernière intervention
6 octobre 2009

Arf merci désolé, j'ai mal lu la msdn c'est exactement ça qu'il me faut (wParam)

Merci beaucoup !