procedure TForm1.Button1Click(Sender: TObject);
  begin
  {Disable the start button}
  EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd', nil),0, 'Button', nil),false);
  end;
  
  procedure TForm1.Button2Click(Sender: TObject);
  begin
  {Enable the start button}
  EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd', nil),0,'Button',nil),true);
  end;
  
  注意:如果按win键还是可以弹出开始菜单的。