Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.03.17;
Скачать: [xml.tar.bz2];

Вниз

Хук WH_CBT   Найти похожие ветки 

 
Sodom   (2003-01-24 13:00) [0]

У меня такая проблема: ставлю я этот хук. хочу чтобы в файл писались заголовки новых окон. Проца фильтра выглядит так:

function CBTProc(nCode: Integer; wParam: WPARAM;
lParam: LPARAM ): LRESULT; stdcall;
var f:textFile; h:HWND; s:string;
begin
try
if nCode>=0 then
if ncode=HCBT_CREATEWND then
begin
H:=WParam;
GetWindowText(H, buff, sizeof(buff));
s:=buff;
AssignFile(f,"D:\tmp\12.txt");
if fileExists("D:\tmp\12.txt") then Append(f)
else rewrite(f);
Writeln(f,WParam," - ",s);
CloseFile(f);
end;
except
end;
result:=CallNextHookEx(g_hhk, nCode, wParam, lParam);
end;

Но при создании одного окна во время хука в файл пишется штук 18 хэндлов и пустые заголовки. В чем косяк? Подскажите, кто разбирался. Сразу отвечу тем, кто захочет узнать зачем мне это. Только чтобы разобраться с этом, увидеть как это работает.


 
Sodom   (2003-01-24 13:31) [1]

Чуть-чуть я догнал. Наверное это от того, что окно еще не создано, но как же тогда решить проблему?


 
Vasily Terekhov   (2003-01-24 14:11) [2]

18 хендлов, т.к. у тебя записывается хендлы всех оконных элементов, создаваемых вместе с окном (кнопки, списки...)
надо проверять окно на Parent=0, если нет, то брать Parent и рекурсия :))
что касается заколовка, то я тоже с этим мучался, так и не удалось мне получить на этой стадии создания окна его заколовок, хотя хелп это обещает :))
А тебе надо именно заголовки всех окон, или названия приложений?


 
UNIVERSAL   (2003-01-24 14:57) [3]

Названия только родительских окон
....
if (nCode=HCBT_CREATEWND) then
if tagCBT_CREATEWNDA(Pointer(lParam)^).lpcs.hwndParent=0 then
.....
Если я всвё правильно понимаю.
А в ListBox приложения ставящего хук как заголовки занести кто-нить знает?


 
Sodom   (2003-01-24 15:35) [4]

to UNIVERSAL: Спасибо. Теперь пишет один раз, но хэндл окна В WParam не создоваемого окна. Среди тех 18-ти, что были один раз был и нужный, но сейчас короче не тот.



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.03.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
14-54175
Supreme 2
2003-03-02 17:40
2003.03.17
Как сделать, чтобы текст показывался не


3-53867
MsGuns
2003-02-24 21:12
2003.03.17
Еще раз о триггере


3-53912
RWS
2003-02-26 04:12
2003.03.17
Лицензии


9-53835
VitGun
2002-10-17 18:10
2003.03.17
GLScene


4-54377
Tahion
2003-01-11 02:38
2003.03.17
Сохранение иконки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский