serber
Сообщений: 7
Оценки: 0
Присоединился: 2006-04-15 15:05:17
|
Пишу программу на Delphi для перехвата сообщений приходящих с других компьютеров локальной сети, сообщения отсылаются стандартной утилитой net.exe (net send [IP] [text]). Реализую посредством установки хука WH_CBT, который срабатывает при открытии окна с заголовком "Служба сообщений" и запрещает системе создавать это окно. var SysHook : HHook = 0;
function CBTProc(code:integer;WPARAM:word;LPARAM: longint): longint; stdcall;
begin
if code=HCBT_CREATEWND then
begin
if PCBTCreateWnd(lParam)^.lpcs<>nil then if PCBTCreateWnd(lParam)^.lpcs^.lpszName<>nil
then
if (string( PCBTCreateWnd(lParam)^.lpcs^.lpszname) )='Служба сообщений' then
begin
result:=1;
end
else Result:=CallNextHookEx(SysHook, Code, wParam, lParam);
end;
end; Но почему-то он не работает т.е. окно NetSend благополучно создаётся (хотя если вместо 'Служба сообщений' написать заголовок другой программы то моя программа благополучно его срубает). Может дело в том что NetSend создаёт в windows какое-нибудь супер модальное окно которое нельзя запретить обычным хуком?
|