Как скрыть/показать панель задач
Компилятор: Visual C++
Следующая функция позволяет не только
скрыть/показать панель задач, но и установить
рабочую область десктопа (при помощи SystemParametersInfo),
чтобы при скрытии панель задач внизу не
оставалось пустого места:
void gShowHideTaskBar(BOOL bHide /*=FALSE*/)
{
CRect rectWorkArea = CRect(0,0,0,0);
CRect rectTaskBar = CRect(0,0,0,0);
CWnd* pWnd = CWnd::FindWindow("Shell_TrayWnd", "");
if( bHide )
{
// Скрываем панель задач
SystemParametersInfo(SPI_GETWORKAREA,
0,
LPVOID)&rectWorkArea,
0);
if( pWnd )
{
pWnd->GetWindowRect(rectTaskBar);
rectWorkArea.bottom += rectTaskBar.Height();
SystemParametersInfo(SPI_SETWORKAREA,
0,
LPVOID)&rectWorkArea,
0);
pWnd->ShowWindow(SW_HIDE);
}
}
else
{
// Показываем панель задач
SystemParametersInfo(SPI_GETWORKAREA,
0,
(LPVOID)&rectWorkArea,
0);
if( pWnd )
{
pWnd->GetWindowRect(rectTaskBar);
rectWorkArea.bottom -= rectTaskBar.Height();
SystemParametersInfo(SPI_SETWORKAREA,
0,
(LPVOID)&rectWorkArea,
0);
pWnd->ShowWindow(SW_SHOW);
}
}
}
|