Delphi Programming

  1. Home
  2. Computing & Technology
  3. Delphi Programming

Disable Mouse and Keyboard from Delphi Code

By Zarko Gajic, About.com

The BlockInput API function blocks keyboard and mouse input events from reaching applications.

Place a Button (name: "Button1") on a form (name: "Form1") and use this code for the button's OnClick event handler. Once you click the button your mouse and keyboard will be blocked for 5 seconds.

Note: BlockInput is available only on Windows 98 and newer, this is why we have a "FuncAvaial" procedure - to test the existance of a function inside a DLL.

procedure TForm1.Button1Click(Sender: TObject) ;

  function FuncAvail(dllName, funcName: string; var p: pointer): boolean;
  var
    lib: THandle;
  begin
    result := false;
    p := nil;
    if LoadLibrary(PChar(dllName)) = 0 then exit;
    lib := GetModuleHandle(PChar(dllName)) ;
    if lib <> 0 then
    begin
     p := GetProcAddress(lib, PChar(funcName)) ;
     if p <> nil then Result := true;
    end;
  end;

  var
    BlockInput : function(Block: BOOL): BOOL; stdcall;

  begin
   if FuncAvail('USER32.DLL', 'BlockInput', @BlockInput) then
   begin
    ShowMessage('Your Mouse and Keyboard will be blocked for 5 seconds!') ;
    BlockInput(true) ;
    Sleep(5000) ;
    BlockInput(false) ;
   end;
  end;

end.
Delphi tips navigator:
» Get memory status
« Hide/Show System Tray
Zarko Gajic
Guide since 1998

Zarko Gajic
Delphi Programming Guide

Explore Delphi Programming

About.com Special Features

Build Your Own Website

Step-by-step advice on how to do everything from choosing a Web host to promoting your content. More >

Connect Your Home Computers

Easy ways to connect two computers for networking purposes. More >

Delphi Programming

  1. Home
  2. Computing & Technology
  3. Delphi Programming
  4. Using VCL Components
  5. TMouse
  6. Disable Mouse and Keyboard from Delphi Code

©2009 About.com, a part of The New York Times Company.

All rights reserved.