Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.17;
Скачать: CL | DM;

Вниз

-= CBT Хук =-   Найти похожие ветки 

 
elf_123 ©   (2003-01-15 21:03) [0]

Господа MASTAKи!
Помогите, пожалуйста с вопросом:

Я ставлю ЦБТ ХУК. Обрабатываю создание окон верхнего уровня.
Пишу их заголовки в файл:

...
assignfile(f,"log.log");
append(f);
writeln(f,tagCBT_CREATEWNDA(Pointer(lParam)^).lpcs.lpszName);
closeFile(f);
...


Но реакция на сиё у каждой проги своя, неожиданная. Калькулятор регистрирует ещё какое-то невидимое окно, ЭйСиДиСи сбивает мою прогу. А Корзина, Мои Док.., Мой Комп.. итд вовсе вызывают ошибку оболочки!
Как сделать нормальный логгер?

Заранее спасибо!


 
UNIVERSAL   (2003-01-24 14:52) [1]

Ну чё разобрался с хуком? Вот мой код он тоже не работает может подскажешь в чём моя ошибка? В файл пишется только первое окно(по-моему первое).

function CBTProc(nCode : Integer; wParam, lParam: integer): LResult; stdcall;
var f:Text;
begin
if nCode >= 0 then
begin
if (nCode=HCBT_CREATEWND) then
if tagCBT_CREATEWNDA(Pointer(lParam)^).lpcs.hwndParent=0 then
begin
AssignFile(f,GetCurrentDir + "\createwnd.log");
{$I-}
Reset (F);
{$I+}
if IOResult <>0 then Rewrite(F);
Writeln(F,tagCBT_CREATEWNDA(Pointer(lParam)^).lpcs.lpszName);
CloseFile(F);
end;
Result:=CallNextHookEx(HookHandle , nCode, wParam, lParam);
Exit;
end
else Result := CallNextHookEx(HookHandle , nCode, wParam, lParam);

end;

procedure SetCBTHook(AListBox:TListBox);
begin
lb:=AListBox;
HookHandle := SetWindowsHookEx(WH_CBT,@CBTProc,HInstance,0);
if HookHandle =0 then LB.Items.Add("?? ??????? ????????? ???.")
else LB.Items.Add("??? ?????????. Handle=" + IntToStr(HookHandle));
end;

procedure RemoveCBTHook;
begin
UnhookWindowsHookEx(HookHandle);
LB.Items.Add("??? ????.");
end;

exports
SetCBTHook,
RemoveCBTHook;
begin
end.



 
UNIVERSAL   (2003-01-24 15:06) [2]

Посмотри это - работает правильно.
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1043402432&n=5



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

Текущий архив: 2003.03.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
14-54242
ROk
2003-02-28 10:57
2003.03.17
Синонимы


7-54334
Qwerty622
2003-01-20 14:46
2003.03.17
Загрузка Win95 ???


1-54115
Evgen_Iam
2003-03-05 20:18
2003.03.17
Как убрать синюю полосу вверху формы?


14-54272
AK-74
2003-02-25 01:28
2003.03.17
На каком языке это написано?


3-53893
SkyN
2003-02-24 11:17
2003.03.17
сгрупировать стороки, просуммировать и размистить в столбцы :))