![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Hook
sosv © (2003-05-08 13:25:00)Устанавливаю Hook на мышь. Начинают глючить 16-ти разрядные программы. Может чего-то не так делаю?
function MouseProc(code : integer; wParam : word; lParam : longint) : longint; stdcall;
var AppWnd: HWND;
Pnt: TPoint;
begin
if code = HC_ACTION then
begin
if (wParam = WM_LBUTTONUP) or (wParam = WM_NCLBUTTONUP) then
begin
GetCursorPos(Pnt);
AppWnd:=WindowFromPoint( Pnt );
SendMessage(HWND_BROADCAST, WM_MYKEYHOOK, wParam, AppWnd);
end;
end;
Result:= CallNextHookEx(GlobalData^.SysHook, Code, wParam, lParam);
end;
procedure hook(switch : Boolean) export; stdcall;
begin
if switch then
GlobalData^.SysHook := SetWindowsHookEx(WH_MOUSE, @MouseProc, HInstance, 0)
else
begin
if not UnhookWindowsHookEx(GlobalData^.SysHook) then
MessageBox(0, "HOOK1
sosv (2003-05-08 13:27:00) [1]Взято из примера на этом сайте.