Hola, amigos.
He estado buscando en los foros la forma de hacer un hook para bloquear el mensaje DobleClick del ratón. Lo más parecido que he encontrado es un hook para bloquear el botón derecho, posteado en 2006 por el maestro Domingo Seoane, basándose en código del incomparable moderador Román.
Pero no me funciona, he cambiado los identificadores del mensaje en el código original, pero no lo consigo bloquear.
Código original
Código Delphi
[-]
if (WParam = WM_RBUTTONDOWN) or (WParam = WM_RBUTTONUP)
Código modificado
Código Delphi
[-]if (WParam = WM_LBUTTONDBLCLK) or (WParam = WM_RBUTTONDBLCLK)
Codigo completo modificado
Código Delphi
[-]unit Hooks;
interface
procedure SetHook;
procedure ReleaseHook;
implementation
uses Windows, Messages;
const
WH_MOUSE_LL = 14;
var
Hook: HHook;
function MouseProc(Code: Integer; WParam, LParam: DWORD): HHook; stdcall;
begin
if Code = HC_ACTION then
begin
if (WParam = WM_LBUTTONDBLCLK) or (WParam = WM_RBUTTONDBLCLK) then
begin
Result:= 1;
Exit;
end;
end;
Result := CallNextHookEx(Hook, Code, WParam, LParam);
end;
procedure SetHook;
begin
Hook := SetWindowsHookEx(WH_MOUSE_LL, @MouseProc, HInstance, 0);
end;
procedure ReleaseHook;
begin
if Hook <> 0 then UnhookWindowsHookEx(Hook);
end;
initialization
Hook := 0;
finalization
ReleaseHook;
end.
Pongo el código completo por si alguien me puede ayudar y por si puede ser útil par alguien más.
Gracias a a todos, por leerme y por vuestra paciencia.
No sé qué me pasa con el editor, no es el primer post que escribo.
He vuelto a escribir el post completo, espero que se pueda leer.
Lo siento. No utilizo la vista previa, porque una vez que la usé también se descolocó el editor.
Debe ser culpa mía.