Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 17-08-2011
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.210
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Bloquear el teclado y el ratón no es muy buena idea. ¿No será mejor que tu aplicación sea un servicio?

De cualquier forma, te muestro como realizar el bloqueo:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
  public
  end;

var
  Form1: TForm1;
  WHookKeyboard: HHOOK = 0;
  WHookMouse: HHOOK = 0;

implementation

{$R *.dfm}
function KeyboardHook(Code, wParam, lParam: Integer): Integer; stdcall;
begin
  if (Code = HC_ACTION) then
    Result:= -1
  else Result:= CallNextHookEx(WHookKeyboard, Code, wParam, lParam);
end;

function MouseHook(Code, wParam, lParam: Integer): Integer; stdcall;
var
  Point: TPoint;
begin
  if(Code = HC_ACTION) then
  begin
    GetCursorPos(Point);
    ScreenToClient(Form1.Handle, Point);
    if PtInRect(Form1.GetClientRect, Point) then
    begin
      Result:= -1;
      exit;
    end;
  end;
  Result:= CallNextHookEx(WHookMouse, Code, wParam, lParam);
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
 WHookKeyboard:= SetWindowsHookEx(2{WH_KEYBOARD}, @KeyboardHook, HInstance, GetCurrentThreadId);
 WHookMouse:= SetWindowsHookEx(7{WH_MOUSE}, @MouseHook, HInstance, GetCurrentThreadId);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  UnhookWindowsHookEx(WHookKeyboard);
  UnhookWindowsHookEx(WHookMouse);
end;

end.

Saludos.

Última edición por escafandra fecha: 17-08-2011 a las 11:42:02.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 09:58:28.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi