Windows Keys and the Start Menu

Hi fellow programmers and developers.

I would like to disable the Start Menu from within my delphi code. Is there anyone out there who knows how I can prevent the Start Menu from displaying when either the Left/Right Windows Keys are pressed.

Thank you.

Comments

  • : Hi fellow programmers and developers.
    :
    : I would like to disable the Start Menu from within my delphi code. Is there anyone out there who knows how I can prevent the Start Menu from displaying when either the Left/Right Windows Keys are pressed.
    :
    : Thank you.
    :
    In Win95/98/ME see the follwoing message: http://www.programmersheaven.com/c/MsgBoard/read.asp?Board=4&MsgID=165179

    I don't know how to perform it in WinNT/2000/XP, but you'll probably need to set up a keyboard hook to catch the system key presses.
  • : : Hi fellow programmers and developers.
    : :
    : : I would like to disable the Start Menu from within my delphi code. Is there anyone out there who knows how I can prevent the Start Menu from displaying when either the Left/Right Windows Keys are pressed.
    : :
    : : Thank you.
    : :
    : In Win95/98/ME see the follwoing message: http://www.programmersheaven.com/c/MsgBoard/read.asp?Board=4&MsgID=165179
    :
    : I don't know how to perform it in WinNT/2000/XP, but you'll probably need to set up a keyboard hook to catch the system key presses.
    :

    ok hello i think it's better to hide it and disable it so use this :

    procedure ShowStartButton(bvisible: Boolean);
    var
    h: hwnd;
    TaskWindow: hwnd;
    begin
    if bvisible then
    begin
    h := FindWindowEx(GetDesktopWindow, 0, 'Button', nil);
    TaskWindow := FindWindow('Shell_TrayWnd', nil);
    ShowWindow(h, 1);
    Windows.SetParent(h, TaskWindow);
    end
    else
    begin
    h := FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil);
    ShowWindow(h, 0);
    Windows.SetParent(h, 0);
    end;
    end;

    {Example to hide/show the Startbutton


    procedure TForm1.Button1Click(Sender: TObject);
    begin
    ShowStartButton(False); // or true to show it again
    end;

    {Furthermore, you could create your own Startbutton and
    replace the original one with your own.}

    var
    b: TButton; // or another Type of button
    h, Window: hwnd;
    begin
    Window := FindWindow('Shell_TrayWnd', nil);
    b := TButton.Create(nil);
    b.ParentWindow := Window;
    b.Caption := 'Start';
    b.Width := 60;
    b.Font.Style := [fsbold];
    end;


Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

In this Discussion