Re: WH_CBT хук и HCBT_CREATEWND
От: kero Россия  
Дата: 16.12.11 22:34
Оценка: 3 (1)
Здравствуйте, invasion, Вы писали:

I>HCBT_CREATEWND но проблема в том что он выполняется для создания каждой кнопочки бокса и тп(содержимого окна), а надо только что бы один раз для всего окна в целом...


тогда может сойдет и (WH_SHELL) HSHELL_WINDOWCREATED

A top-level, unowned window has been created

?
По всему, пашиным хозяевам позарез нужна война в Европе
(уверены — к ним не залетит, в предыдущих двух не залетало жеж)
Автор: kero
Дата: 21.07.14
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;
    }

в банальном тупике...
Re[2]: WH_CBT хук и HCBT_CREATEWND
От: invasion  
Дата: 16.12.11 23:22
Оценка:
Здравствуйте, kero, Вы писали:

K>Здравствуйте, invasion, Вы писали:


I>>HCBT_CREATEWND но проблема в том что он выполняется для создания каждой кнопочки бокса и тп(содержимого окна), а надо только что бы один раз для всего окна в целом...


K>тогда может сойдет и (WH_SHELL) HSHELL_WINDOWCREATED

K>

A top-level, unowned window has been created

K>?
ДА! Спасибо! я как-то совсем упустил их из виду...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.