goutbouyo
Messages postés429Date d'inscriptionmardi 6 juillet 2004StatutMembreDernière intervention12 janvier 2008
-
5 juil. 2006 à 13:59
cs_saifer
Messages postés115Date d'inscriptionsamedi 29 mars 2003StatutMembreDernière intervention19 décembre 2008
-
5 juil. 2006 à 19:57
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 !!!
@+++++
cs_saifer
Messages postés115Date d'inscriptionsamedi 29 mars 2003StatutMembreDernière intervention19 décembre 20081 5 juil. 2006 à 15:02
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 ;)