Как спрятать кнопку "Пуск" панели задач

Cпрятать кнопку "Пуск" в панели задач Windows можно следующим образом:

loc:ClassName  SCtring( 100 )
loc:Null       SCtring( 1 )     
HideStartButton  ROUTINE  ! Спрятать кнопку "Пуск"
!==========================================================
  loc:ClassName = 'Shell_TrayWnd'
  loc:Null = ''
  hButton# = GetWindow( FindWindow(loc:ClassName, loc:Null), GW_CHILD )

! Hажать кнопку "Пуск"
! SendMessage(hButton, WM_LBUTTONDOWN, MK_LBUTTON, LOWORD(5) + HIWORD(ScreenHeight-20))

  r# = ShowWindow( hButton#, SW_HIDE )


ShowStartButton  ROUTINE
!==========================================================
  loc:ClassName = 'Shell_TrayWnd'
  loc:Null = ''

  hButton# = GetWindow( FindWindow(loc:ClassName, loc:Null), GW_CHILD )
  r# = ShowWindow( hButton#, SW_SHOW )

В точку вставки 'After Global INCLUDEs'  надо включить объявления:

! Команды  ShowWindow
SW_HIDE             Equate(0)
SW_SHOWNORMAL       Equate(1)
SW_NORMAL           Equate(1)
SW_SHOWMINIMIZED    Equate(2)
SW_SHOWMAXIMIZED    Equate(3)
SW_MAXIMIZE         Equate(3)
SW_SHOWNOACTIVATE   Equate(4)
SW_SHOW             Equate(5)
SW_MINIMIZE         Equate(6)
SW_SHOWMINNOACTIVE  Equate(7)
SW_SHOWNA           Equate(8)
SW_RESTORE          Equate(9)
SW_SHOWDEFAULT      Equate(10)
SW_FORCEMINIMIZE    Equate(11)
SW_MAX              Equate(11)

! Команды GetWindow()
GW_HWNDFIRST        Equate(0)
GW_HWNDLAST         Equate(1)
GW_HWNDNEXT         Equate(2)
GW_HWNDPREV         Equate(3)
GW_OWNER            Equate(4)
GW_CHILD            Equate(5)

В точку вставки 'Inside Global Map'  включаем объявления функций:
Module('WinApi32')
  ! Прототипы для HideTaskBar
  ShowWindow(UNSIGNED,SIGNED),SIGNED,PASCAL
  FindWindow( *CSTRING lpClassName, *CSTRING lpWindowName ), HANDLE, RAW, Pascal, Name('FindWindowA')
End

Из этого примера также видно как можно программно "нажать" на кнопку "Пуск".

Hosted by uCoz