imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 03.01.2005, 01:06     # 1
dex0r
Junior Member
 
Регистрация: 03.05.2004
Сообщения: 49

dex0r Нимб уже пробиваетсяdex0r Нимб уже пробивается
Angry Хук мыши

Не могу понять, почему координаты мыши не возвращаются, если курсор находится на заголовке окна (любого, и не важно, активного или нет)
Вот код обработки ловушки:
Код:
function hook(c0de : integer; wParam:WPARAM; lParam:lparam): Lresult; stdcall;
var
w : THandle;
hw: hwnd;
s1,s2:string;
inf:^tagMOUSEHOOKSTRUCT;
begin
  if c0de >= 0 then
  begin
    case wParam of
      WM_MOUSEMOVE :
      begin
        inf :=pointer(lParam);
        str(inf^.pt.X,s1);
        str(inf^.pt.y,s2);
        hw:=GetForegroundWindow;
        SetWindowText(hw,pchar(s1+':'+s2));
      end;
    end;
  end
  else
  begin
    result := CallNextHookEx(H, c0de, wParam, lParam);
    exit;
  end;

result := CallNextHookEx(H, c0de, wParam, lParam);
End;
dex0r вне форума  
Старый 03.01.2005, 04:13     # 2
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
Попробуй перед присваиванием inf :=pointer(lParam); выделить записи память New(inf)
После выполнения не забудь освободить Dispose(inf);
/7y3uK вне форума  
Старый 03.01.2005, 08:50     # 3
mr_eoi
Junior Member
 
Аватар для mr_eoi
 
Регистрация: 04.09.2003
Адрес: Moscow, Russia, Earth, Solar System, Milky Way Galaxy, Universe
Сообщения: 93

mr_eoi Луч света в тёмном царствеmr_eoi Луч света в тёмном царствеmr_eoi Луч света в тёмном царствеmr_eoi Луч света в тёмном царствеmr_eoi Луч света в тёмном царствеmr_eoi Луч света в тёмном царстве
dex0r
IMHO координаты мыша лучше брать через GetCursorPos
А чтобы координаты определялись и в заголовке окна, дополнительно обрабатывать сообщение WM_NCMOUSEMOVE
__________________
Per Aspera Ad Astra...
mr_eoi вне форума  
Старый 08.01.2005, 18:26     # 4
dex0r
Junior Member
 
Регистрация: 03.05.2004
Сообщения: 49

dex0r Нимб уже пробиваетсяdex0r Нимб уже пробивается
mr_eoi, пасиб! я про WM_NCMOUSEMOVE забыл А GetCursorPos проц нагружает (если через таймер или ещё какнить) Мне просто нужен постоянный контроль за мышью
dex0r вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 12:14.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.