Форум: "WinAPI";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];
ВнизКак словить курсор? Найти похожие ветки
← →
copyr25 (2002-02-24 20:21) [6]library mhook;
uses
SysUtils, Classes, Windows, Messages;
var
HookHandle: HHOOK = 0;
//функция обрабатывающая сообщения (мышиные)
function MouseProc(Code, W,l : Integer): LongInt; stdcall;
var
j,i:integer;
begin
if Code =HC_ACTION
then
//в принципе тут можно производить обработку и отсекание ненужных сообщений
//что-то типа if w=wm_nchittest then
begin
//составляем дополнительные параметры для нашего сообщения.
i:=makelparam(TMOUSEHOOKSTRUCT(Pointer(L)^).pt.x,TMOUSEHOOKSTRUCT(Pointer(L)^).pt.y);
j:=makeWparam(TMOUSEHOOKSTRUCT(Pointer(L)^).hwnd,w);
//отправляем сообщение наше программе.
SendMessage(FindWindow(nil,"MouseHook"), WM_USER,j ,i); // Уведомляем программу об этом.
end;
Result := CallNextHookEx(HookHandle, Code, W,L )
end;
function SetHook: LongBool; stdcall;
begin
//установка ловушки
HookHandle := SetWindowsHookEx(WH_Mouse, MouseProc, HInstance, 0);
Result := HookHandle <> 0 ;
end;
function RemoveHook: LongBool; stdcall;
begin
Result := UnHookWindowsHookEx(HookHandle)
//снятие ловушки
end;
exports
SetHook, RemoveHook; //экспортируемые функции
begin
end.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.006 c