C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Убрать TaskBar, Как это сделать програмно?
Umka
  Отправлено: 03.12.2003, 20:41


Дежурный стрелочник

Группа: Участник
Сообщений: 32



Подскажите, пожалуйста, как убрать TaskBar с экрана, а потом показать его.
user posted image
Admin
Отправлено: 04.12.2003, 17:32


Владимир

Группа: Администратор
Сообщений: 1190



CODE

// Убираем/показываем все стартовые меню
void __fastcall TFMain::DisableAllMenus(bool val)
{
  const int iMax = 10;
  HWND hWnd[iMax];
  ZeroMemory(&hWnd, sizeof(HWND)*iMax);

  hWnd[0] = FindWindow("Shell_TrayWnd", NULL); // Панелька внизу
  hWnd[1] = FindWindowEx(hWnd[0], NULL, "Button", NULL); // Кнопка пуск
  hWnd[2] = FindWindowEx(hWnd[0], NULL, "ReBarWindow32", NULL); // Панель левее кнопки пуск
  hWnd[3] = FindWindowEx(hWnd[2], NULL, "ToolbarWindow32", NULL); // Quick Launch
  hWnd[4] = FindWindowEx(hWnd[2], NULL, "MSTaskSwWClass", NULL); // Панель, там где минимизированные окна и т.п.
  hWnd[5] = FindWindowEx(hWnd[0], NULL, "TrayNotifyWnd", NULL); // Весь трэй
  hWnd[6] = FindWindowEx(hWnd[5], NULL, "Button", NULL); // Баттон для показа скрытых иконок в ХР
  hWnd[7] = FindWindowEx(hWnd[5], NULL, "SysPager", NULL); // Эээ, сами иконки прог в систрее
  hWnd[8] = FindWindowEx(hWnd[5], NULL, "TrayClockWClass", NULL); // Часики
  hWnd[9] =  FindWindow("Progman", NULL);  // рабочий стол

  // hide — show window
  for (int i=0; i<iMax; i++)
   {
         if(val) ShowWindow(hWnd[i], SW_HIDE);
          else  ShowWindow(hWnd[i], SW_SHOW);
   }
}
//--------------------------------------------


К сожалению, такой красивой картинки приложить не нашел. biggrin.gif
Иван
Отправлено: 04.12.2003, 19:32


Машинист паровоза

Группа: Участник
Сообщений: 207



Task Bar можно убрать и так:

CODE

HWND H;

H=FindWindow("Shell_TrayWnd",NULL); //Находим handle окна Task Bar'а

ShowWindow(H,SW_HIDE); //Делаем его невидимым

Sleep(2000);

ShowWindow(H,SW_SHOW); //Делаем его видимым


wink.gif
P.S. картинка действительно красивая smile.gif

Отредактировано Иван — 04/12/2003, 20:36
** pasha
Отправлено: 04.12.2003, 20:32


Не зарегистрирован







Вообще-то Admin так и написал

CODE

...
hWnd[0] = FindWindow("Shell_TrayWnd", NULL); // Панелька внизу
...
ShowWindow(hWnd[i], SW_HIDE);
...

просто несколько расширил ответ для общего образования.
Umka
Отправлено: 05.12.2003, 13:23


Дежурный стрелочник

Группа: Участник
Сообщений: 32



СПАСИБО БОЛЬШОЕ !!!

Отредактировано Admin — 05/12/2003, 19:16

Вернуться в Вопросы программирования в C++Builder