Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

КАК ОПРЕДЕЛИТЬ HANDLE НАЗНАЧЕНИЯ СООБЩЕНИЯ ?!!!


moreo_xayam ©   (2003-11-27 13:47:00) 

Вобщем, перехватывю сообщение (с помощью hook"ов)... Мне нужно узнать handle окна назначения этого сообщения...
ОТВЕТЬЕ КТО-НИБУДЬ!


LWait   (2003-12-02 00:27:00) [1]

у хука CALLWNDPPOC похоже

type
PCWPSTRUCT = ^CWPSTRUCT;
CWPSTRUCT = packed record
lParam: LPARAM;
wParam: WPARAM;
message: UINT;
hwnd: HWND;
end;

function HookProc(nCode: integer; wp: Wparam; lp: LParam): LRESULT; stdcall;
var m: PCWPSTRUCT;
begin
if nCode=HC_ACTION then
begin
m:=PCWPSTRUCT(lp);
m.hwnd - вот и хэндл!
end;
Result := CallNextHookEx(HookHandle, nCode, wP, lP);
end;


Simon   (2003-12-01 22:21:00) [2]

Хуки бывают разные... но в каждый из них приходит само сообщение, просто в некоторые не в том виде, который хотелось бы. В WH_GetMessge, например, сообщение приходит в "удобном" виде:

function HookProc(nCode: integer; wp: Wparam; lp: LParam): LRESULT; stdcall;
type TPntMsg = ^MSG; //F1
var m: TPntMsg;
begin
if nCode=HC_ACTION then
begin
m:=TPntMsg(lp);
m.hwnd - вот и хэндл!
end;
Result := CallNextHookEx(HookHandle, nCode, wP, lP);
end;

В других типах ловушек по другому, в хэлпе всё есть


Наверх

Титульная страница Поиск, карта сайта Написать письмо