Cita:
Empezado por DarkMan
Por cierto, WH_KEYBOARD?
|
Es evidente que me equivoque, pero ya veo que me entendiste.
Cita:
Empezado por DarkMan
¿Por qué cuando usaba la DLL ésto no ocurría? ¿Qué cambia?
|
Pues parece que la cosa es así, con los movimientos bruscos parece que el ratón "sale" de la pantalla, y nosotros recibimos el mensaje antes de que windows pueda corregir su posición. Puede que esto sea debido a que este hook actúa a un nivel mas bajo que el otro (LL significa Low Level) antes de que se que se corrija el error, seguramente debido a la aceleración del ratón. De todas formas, esto no debería de ser un problema, y de serlo siempre podemos comparar las coordenadas con las del monitor (TScreen).
Por cierto aunque el comienzo de la estructura es igual, deberías de usar la estructura TMSLLHOOKSTRUCT en vez de TMouseHookStruct.
Código Delphi
[-]
type
TMSLLHOOKSTRUCT = packed record
pt: TPoint;
mouseData: DWORD;
flags: DWORD;
time: DWORD;
dwExtraInfo: int64;
end;
PMSLLHOOKSTRUCT = ^TMSLLHOOKSTRUCT;