tengo una duda con este tipo de hook... resulta que quiero intervenir el momento en que la ventana de firefox se esté activando, bueno el método que use fue este:
en la DLL:
Código
LRESULT CALLBACK CBTProc(int nCode,WPARAM wParam,LPARAM lParam){
HWND hwnd;
char firefoxClass[64];
if(nCode < 0)
return CallNextHookEx(DLKGlobalHook, nCode, wParam, lParam);
//debería asignarse el hwnd de la ventana activa
hwnd=(HWND)wParam;
GetClassName(hwnd,firefoxClass,64);
//Si la ventana es firefox entonces mandamos el messagebox
if(!lstrcmp(firefoxClass,"mozillauiwindowclass")){
if(nCode == HCBT_ACTIVATE)
MessageBox(0,"Se va activar la ventana de firefox","dasdasd",0);
}
return CallNextHookEx(DLKGlobalHook, nCode, wParam, lParam);
}
bueno en el código capto que el parametro wParam que contiene el id de la ventana (nombre de clase) sea igual a mozillauiwindowclass que es el nombre de clase de la ventana de firefox....
pero al momento de abrir la ventana de firefox no pasa nada.... no me lanza el messagebox.. y estoy seguro de que está bien instalado en Hook porque si coloco el MessageBox fuera del if el messagebox si aparece.
no entiendo que hago mal... o estoy entendiendo mal el funcionamiento del hook CBT

si no se entendio mi problema me dicen para ser más claro

saludos.










Autor


En línea

solo por eso no funcionaba, es así MozillaUIWindowClass.... pero lo raro es que ya habia utilizado ese nombre de clase completamente con minusculas y si me había resultado :/ 

tanto protestaste y Jaixxon Jax tenia razon
solo entra al if cuando lstrcmp retorne 0


