这两天一直在试着用CBT钩子试着监视整个系统的对话框或窗口的出现,总算有了一点眉目,但是出现了两个问题,不知为何,请大家指教:
在共享数据段中如下定义
#pragma data_seg(".SHARDAT")
HHOOK hkb=NULL;
int Count;//记录创建的窗口的数目
HWND windows[10]={0,0,0,0,0,0,0,0,0,0};//记录创建的窗口的句柄
#pragma data_seg()
#pragma comment(linker, "/section:.SHARDAT,rws")回调函数如下:
 if (nCode < 0)  // do not process message 
        return CallNextHookEx(hkb, nCode, wParam, lParam); 
if (nCode==HCBT_CREATEWND)//&&(windows!=(HWND)wParam))
{
              windows[Count]=(HWND)wParam;
Count++;
}
return CallNextHookEx(hkb, nCode, wParam, lParam);