Ver Mensaje Individual
  #9  
Antiguo 12-09-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
Antes de nada estoy de acuerdo con dec y roman, que bloquear el botón derecho del ratón es una medida desproporcionada y poco eficaz, dependiendo del propósito que queramos conseguir. Pero también es verdad que no somos quien para decirte como hacer las cosas, así que si quieres bloquear el botón derecho, podemos intentarlo.

Partimos de la excelente unit de roman para bloquear teclas. Recortamos y pegamos por aquí y por allá y nos quedaría algo como esto:

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_RBUTTONDOWN) or (WParam = WM_RBUTTONUP) 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.

De todas formas, ¿que es lo que quieres conseguir?. Posiblemente exista una solucion mejor ...
Responder Con Cita