{
The ShowStartButton function shows how to hide the start
button, how to disable the windows buttons (LWin and RWin)
(indirectly) and consequently how to hide the start menu.
}
{
Die ShowStartButton Prozedur zeigt, wie man den Startbutton
verstecken kann und die Windows Tasten (LWin and RWin)
indirekt deaktivieren kann. Auch der Zugriff auf das
Startmenu wird folglich nicht mehr möglich sein.
}
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/reshow the Startbutton
Beispiel, um den Startbutton zu verstecken/wieder anzuzeigen.}
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowStartButton(False); // or true to reshow
end;
{Furthermore, you could create your own Startbutton and
replace the original one with your own.}
{Es ist auch möglich, einen "eigenen" Startbutton durch
den original Startbutton zu ersetzen.}
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;