Ver Mensaje Individual
  #7  
Antiguo 22-11-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.110
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
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:

Código Delphi [-]
LockKey(lkAltEsc, true);

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
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmPrincipal: TfrmPrincipal;

implementation

{$R *.dfm}

uses
  UHooks; // Unidad UHooks.pas

procedure TfrmPrincipal.FormCreate(Sender: TObject);
begin
  UHooks.SetHook; // Establecemos el "hook" de teclado
end;

procedure TfrmPrincipal.btnDeshabilitarClick(Sender: TObject);
begin
  // Deshabilitamos la combinación ALT + F4
  UHooks.LockKey(lkAltF4, true);
end;

procedure TfrmPrincipal.btnHabilitarClick(Sender: TObject);
begin
  // Habilitamos la combinación ALT + F4
  UHooks.LockKey(lkAltF4, false);
end;

end.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita