Disable Windows key ?

Iwant Delphi code To disable Win Key ? I founded one in this page But Icouldnot use it
http://www.swissdelphicenter.ch/torry/printcode.php?id=1212 help me please
Prof_MAMAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
moduloConnect With a Mentor Commented:
PAQed with points refunded (140)

modulo
Community Support Moderator
0
 
MikProgCommented:
It must be keyboard hook local to you program that catch
VK_LWIN      Left Windows key (Microsoft keyboard)
VK_RWIN      Right Windows key (Microsoft keyboard)
events and trash them
0
 
Ivanov_GCommented:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
    Hook_Handle : THandle;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

function KeyboardProc(nCode, wParam, lParam : Integer) : Integer; stdcall;
var
  bControlKeyDown : Boolean;
begin
  bControlKeyDown := False;
  case nCode of
    HC_ACTION : begin
                  if (wParam = VK_LWIN) or (wParam = VK_RWIN) then
                    begin
                      Result := 1;
                      Exit;
                    end;
                end;
  end;
  Result := CallNextHookEx (Form1.Hook_Handle, nCode, wParam, lParam);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  // Install hook
  Hook_Handle := SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, hInstance, 0);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  // DeInstall hook
  UnhookWindowsHookEx(Hook_Handle);
end;
0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
Prof_MAMAuthor Commented:
It didn't Work Windows Key Is still working After pressing button1 Or button 2
0
 
Ivanov_GCommented:

   Here is working example, I tested it
   
   http://www.swissdelphicenter.ch/torry/showcode.php?id=1212
0
 
Prof_MAMAuthor Commented:
I think it is the same code I have but I couldn't run it send it to me if you can And points are yours if it works
prof_mam1@hotmail.com
0
 
Prof_MAMAuthor Commented:
Ivanov_g where are you ?
0
 
Ivanov_GCommented:

   Releasing version ... production tonight. I will go to your code when I have few minutes. Is it urgent
0
 
Prof_MAMAuthor Commented:
No take your time
0
 
Ivanov_GCommented:

   If your application is like destop shield - there is very easy way :

procedure EnableFastTaskSwitching(Enable : boolean = True);
begin
  // If Enable is False, we must use True to disable,
  // If Enable is True, we must use False to enable
  SystemParametersInfo(SPI_SCREENSAVERRUNNING, cardinal(NOT Enable), nil, 0);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  // Disable Win keys
  EnableFastTaskSwitching(False);
end;

   If not - you need the hook.
0
 
Prof_MAMAuthor Commented:
I am using win xp SystemParametersInfo() doesnot work on xp  I need the hook
0
 
Prof_MAMAuthor Commented:
where is the experts ??! no body Can do that ?
0
 
EsopoCommented:
Just as a comment:

You can hook the keyboard. Don't know for sure if it will work with the Windows Key, but it's surely worth a try:
http://delphi.about.com/od/vclusing/l/aa101000a.htm
http://www.infojet.cz/program/delphi/tips/tip0003.html

Hook dll:
http://chithai.com/delphi/crazykeyboard.htm

I would love to post code for that but the last time I played with it I was younger, brighter and more versed ;)

Good luck.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.