Hola,
Una vez incluída la unidad en tu proyecto, su utilización es bastante sencilla. Se trata de ejecutar el procedimiento "SetHook", a modo de preparación, y a continuación llamar al procedimiento "LockKey" tantas veces como te sea menester, esto es, como dice en la ayuda de la unidad "Hook.pas" el propio Román:
Para deshabilitar la combinación de teclas "ALT + ESC". Obviamente la llamada a dicho procedimiento ha de hacerse luego de hacer inicializado el "Hook", que ya he comentado que puede hacerse, sencillamente, llamando al procedimiento "SetHook" antes de llamar a "LockKey".
Para habilitar de nuevo una combinación de teclas basta con que llames a "LockKey" indicando la combinación y, esta vez, pasando como segundo parámetro el valor "false":
Código Delphi
[-]
LockKey(lkAltEsc, false);
No tendrás que llamar explícitamente al procedimiento "ReleaseHook", que vendría a ser el "contrario" a "SetHook", puesto que este se llama en la cláusula "finalization" de la propia unidad "Hook.pas".
Código Delphi
[-]
finalization
ReleaseHook;
end.
Puedes usar, por ejemplo, el evento "OnCreate" de tu formulario principal para llamar al procedimiento "SetHook". A ver si el siguiente código te da alguna idea:
Código Delphi
[-]
unit UfrmPrincipal;
interface
uses
Forms, Classes, Controls, StdCtrls;
type
TfrmPrincipal = class(TForm)
btnHabilitar: TButton;
btnDeshabilitar: TButton;
procedure FormCreate(Sender: TObject);
procedure btnHabilitarClick(Sender: TObject);
procedure btnDeshabilitarClick(Sender: TObject);
private
public
end;
var
frmPrincipal: TfrmPrincipal;
implementation
{$R *.dfm}
uses
UHooks;
procedure TfrmPrincipal.FormCreate(Sender: TObject);
begin
UHooks.SetHook; end;
procedure TfrmPrincipal.btnDeshabilitarClick(Sender: TObject);
begin
UHooks.LockKey(lkAltF4, true);
end;
procedure TfrmPrincipal.btnHabilitarClick(Sender: TObject);
begin
UHooks.LockKey(lkAltF4, false);
end;
end.