![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
О перехвате сообщений [D6, WinXP]
Redhopter © (2004-10-29 23:00:00)Здравствуйте товарищи!!!!
Помогите найти ошибку в Dll
Код
library hook_dll1;
uses
Windows,
Messages,dialogs, system,
Forms;
var
SysHook : HHook = 0;
Wnd : Hwnd = 0;
function SysMsgProc(code : integer; wParam : word; lParam : longint) : longint; stdcall;
var
a:string[10];
begin
Wnd:=findwindow(nil,'Server');
if (TMsg(Pointer(lParam)^).hwnd=wnd)and(wnd<>0) then
begin
if TMsg(Pointer(lParam)^).message=wm_datacopy then
begin
TMsg(TMsg(Pointer(lParam)^).message:=0;
showmessage('Перехватил');
end;
end;
end;
procedure hook(switch : Boolean) export; stdcall;
begin
if switch=true then
begin
SysHook := SetWindowsHookEx(WH_GETMESSAGE, @SysMsgProc, HInstance, 0);
if SysHook <> 0 then
MessageBox(0, 'HOOK1 установлен !', 'Message from Exampel1/Process1', 0)
else
MessageBox(0, 'HOOK1 установить не удалось !', 'Message from Exampel1/Process1', 0);
end
else
begin
if UnhookWindowsHookEx(SysHook) then
MessageBox(0, 'HOOK1 снят !', 'Message from Exampel1/Process1', 0)
else
MessageBox(0, 'HOOK1 снять не удалось !', 'Message from Exampel1/Process1', 0);
SysHook := 0;
end;
end;
exports hook;
begin
end.
Dll никак не хочет перехватывать сообщение....Я даже специльно программы 2 написал..они обмениваются данными при помощи wm_datacopy
Но почему-то ловушка их не ловит...
Она ловит только ВСЕ сообщения, т.е. сортирует их по хендлу окна...А само сообщение wm_copydata не ловит, хотя в принципе должна, ведь я налогично получаю хендл окна-приемника
Помогите найти ошибку!
Помогите плиз
colonel (2004-10-30 14:00:00) [1]А где вызов CallNextHookEx(); и что такое TMsg ? Сделал бы регистрацию сообщения типа wm_hook_datacopy. в проетке типа этого:
.....
protected
procedure wndproc(var Msg:tmessage); override;
end;
.....
procedure TForm1.wndproc(var msg:tmessage);
begin
inherited;
if Msg.Msg=WM_HOOK_DATACOPY then
begin
end;
А так почитай ту ссылку, которая выше, там интересная статья.
VMcL (2004-10-29 23:51:00) [2]http://www.delphimaster.ru/articles/hooks/index.html