Здравствуйте! Уже долго мучаюсь с такой проблемой: надо вести лог создания окон, для того я использовал 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;
}
в банальном тупике...
Здравствуйте, invasion, Вы писали:
I>HCBT_CREATEWND но проблема в том что он выполняется для создания каждой кнопочки бокса и тп(содержимого окна), а надо только что бы один раз для всего окна в целом...
тогда может сойдет и (WH_SHELL) HSHELL_WINDOWCREATED
A top-level, unowned window has been created
?
Здравствуйте, kero, Вы писали:
K>Здравствуйте, invasion, Вы писали:
I>>HCBT_CREATEWND но проблема в том что он выполняется для создания каждой кнопочки бокса и тп(содержимого окна), а надо только что бы один раз для всего окна в целом...
K>тогда может сойдет и (WH_SHELL) HSHELL_WINDOWCREATED
K>A top-level, unowned window has been created
K>?
ДА! Спасибо! я как-то совсем упустил их из виду...