WH_CBT хук и HCBT_CREATEWND
От: invasion  
Дата: 16.12.11 18:53
Оценка:
Здравствуйте! Уже долго мучаюсь с такой проблемой: надо вести лог создания окон, для того я использовал WH_CBT и код HCBT_CREATEWND но проблема в том что он выполняется для создания каждой кнопочки бокса и тп(содержимого окна), а надо только что бы один раз для всего окна в целом...
вот код:

LRESULT CALLBACK WindowTitleFiltr(int nCode,WPARAM wParam,LPARAM lParam)
{

        if (nCode < 0)  return CallNextHookEx(NULL, nCode, wParam, lParam); 

    switch (nCode) 
    { 
    case HCBT_ACTIVATE:
        {
                    //...
        }
        break;
    case HCBT_CREATEWND:
        {
            TCHAR tzCaption[MAX_PATH];
            CBT_CREATEWND *l = (CBT_CREATEWND*)lParam;

                        //вот с этим условием что я только не делал (и l->lpcs->hwndParent==NULL и l->lpcs->hwndParent==WC_DESCTOP)
            if (l->lpcs->style == WS_TILED) {
                char s[100];
                GetClassName((HWND)wParam,s,100);
                FileWrite(s,FileName);  //функция просто выводит строку в файл
                toNewStr(); //записывает символ "\n"  в файл 
            }
        }
        break;
    }

в банальном тупике...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.