begin process at 2012 05 30 05:36:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Autre

 > 

Problèmeavec getWindowText


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problèmeavec getWindowText

mercredi 5 juillet 2006 à 13:59:59 | Problèmeavec getWindowText

goutbouyo

Membre Club
Salut,
J'utilise un hook avec HCBT_CREATEWND pour détecter la création d'une fenêtre, et plus particulièrement le gestionnaire de tâches.
Je pensais qu'en comparant seulent la classe #32770 je pourrais détecter le gestionnaire, mais le problème c'est qu'il y a d'autres fenêtres qui ont cette même classe.
J'ai donc voulu comparer aussi le titre de la fenêtre avec GetWindowText((HWND)wParam, sTitle, sizeof(sTitle)); mais à chaque fois le sTitle est vide ...
Je l'utilise juste après la détection de la fenêtre donc je pense que le problème est qu'à ce moment là, la fenêtre n'a pas encore de titre.

Voila mon code :

//quand une fenetre est crée
if(nCode == HCBT_CREATEWND)
{   
    GetClassName((HWND)wParam, sClass, sizeof(sClass));
    GetWindowText((HWND)wParam, sTitle, sizeof(sTitle));     

    if ((strcmp(sClass, "#32770")==0)&&(strcmp(sTitle, "Gestionnaire des tâches de Windows")==0))
                    SendMessage(g_handleWnd, WM_ALERTE_CREATE_TASKMANAGER, wParam, 0);          
}

Si vous avez une idée pour mon problème je suis preneur !!!
@+++++
mercredi 5 juillet 2006 à 15:02:36 | Re : Problèmeavec getWindowText

saifer

Membre Club
Réponse acceptée !

salu!
Je viens de vérifier, tu dois surement utiliser WH_CBT comme type de hook je suppose et en effet ta fonction est exectué avant que le message ne soit traité. Donc je pense que tu devrais plutot utiliser WH_CALLWNDPROCRET comme type de hook, comme ca ta fonction sera executée après la création de ta fenetre et tu pourra récupérer le titre ;)

bonne chance !

-{ Saifer }-
mercredi 5 juillet 2006 à 16:04:41 | Re : Problèmeavec getWindowText

goutbouyo

Membre Club
J'ai essayé comme tu dis mais ça marche toujours pas :

hhk  = SetWindowsHookEx(WH_CALLWNDPROCRET, HookCreateProc, thismod, 0);


LRESULT CALLBACK HookCreateProc(int nCode, WPARAM wParam, LPARAM lParam)
{       
    char sClass[128], sTitle[256];
    CWPRETSTRUCT st;

    if(nCode >= 0)
    {       
        if(nCode == HC_ACTION)
        {   
            st = *(CWPRETSTRUCT*)lParam;
            if (st.message==WM_CREATE)
            {
                GetClassName(st.hwnd, sClass, sizeof(sClass));   
                GetWindowText(st.hwnd, sTitle, sizeof(sTitle));
                if ((strcmp(sClass, "#32770")==0)&&(strcmp(sTitle, "Gestionnaire des tâches de Windows")==0))
                    MessageBox(g_handleWnd, "trouvé", 0, 0);
            }
           
        }     
    }
    return CallNextHookEx(hhk, nCode, wParam, lParam);
}
mercredi 5 juillet 2006 à 16:06:26 | Re : Problèmeavec getWindowText

goutbouyo

Membre Club
En fait il fallait laisser HCBT_CREATEWND alors que je l'ai remplacé par WM_CREATE ...

Merci pour ton aide !!!!
@+++++++++++
mercredi 5 juillet 2006 à 19:57:37 | Re : Problèmeavec getWindowText

saifer

Membre Club
heureux d'avoir pu t'aider !

-{ Saifer }-


Cette discussion est classée dans : gestionnaire, fenêtre, wparam, getwindowtext, stitle


Répondre à ce message

Sujets en rapport avec ce message

cacher une fenêtre [ par lysane ] J'ai utilisée la fonction showwindow pour cacher ma fenêtre:ShowWindow(FindWindow("ConsoleWindowClass",NULL),SW_HIDE); sous win2000 pas de problème, s Langage C++ [ par Tom56340 ] je me présente tom voila je suis pas non plus implacable sur l'informatique cependant je touche a tout et est un niveau satisfaisant qui me vaut de m souci C++ [ par Tom56340 ] je me présente tom voila je suis pas non plus implacable sur l'informatique cependant je touche a tout et est un niveau satisfaisant qui me vaut de m souci bouton C++ [ par Tom56340 ] bonjours voila j'ai un couci l'or de mon compile run j'ai mi un bouton donnée un non ect.. donner une valuer a ID_BOUTON "1"; mais cela ne marche afficher un interface fils dans une interface parent [ par chroubou1985 ] comment je peut affiche une fenêtre fils (ex palette de propriété)dans une fenêtre parent(fenêtre principale de l'application) en utilisant le codebol Hook + GetForegroundWindow + SendMessage [ par erodatam ] Bonjour, Je souhaite faire un gestionnaire de presse papier en application win32. Grace à un hook, je suis capable d'intercepter les pressions sur le Petit problème API Windows [ par hichem16 ] Bonjour à tous ( ou bien bonsoir vu l'heure [^^langue3]) voila , je débute en API Windows et je suis entrain de faire un petit programme bien à moi, Problème de message windows [ par Jbs106 ] Bonjour Bonjour, comme je l'ai précisé dans le titre, je souhaite réaliser une application de dessin, un SKETCHER avec les MFCs, je l'ai réalisé grac probleme avec la fonction glreadpixels [ par sousoi ] je trouve que on peut implimenter l'algo de z buffer avec opengl et recuperer les donnee avec la fonction de opengl "glreadpixels" mais je trouve un


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,061 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales