Hiding/Showing the Windows TaskBar
Posted
by Ashutosh R. Bhatikar
on February 1st, 2001
Now, my only requirement was to retrieve the handle to the TaskBar window. I used CWnd's FindWindow() function to do this. FindWindow() takes two parameters, the window's class name (a WNDCLASS structure) and the windw name (the windows title). You may retrieve these properties of the window using the SPY++'s FindWindow utility that comes with Visual Studio.
Using these two functions I came up with the following code which you can use to either show or hide the taskbar and utilize the full desktop.
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 ) { // Code to Hide the System Task Bar 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 { // Code to Show the System Task Bar 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); } } }
Downloads
Download source - 2 KbDownload demo project (including release build) - 28 Kb

Comments
Problem in Win2k
Posted by Legacy on 08/06/2003 12:00amOriginally posted by: Azhar
ReplyHow to move the entire Desktop(whole display)??
Posted by Legacy on 07/02/2003 12:00amOriginally posted by: sonu
Replyhow can i add item to?
Posted by Legacy on 11/26/2002 12:00amOriginally posted by: lfr
ReplyWhy don't other windows shrink to new workarea size?
Posted by Legacy on 10/07/2002 12:00amOriginally posted by: Aisenberg Mor
If I build an application that uses the:
SystemParametersInfo(SPI_SETWORKAREA, 0, &Temp, 0);
(Kind of task bar utility)
Windows who where maximized before are now under the taskbar how can I make them shrink to proper size?
-Mor-
ReplyAfter program termiation
Posted by Legacy on 09/11/2002 12:00amOriginally posted by: Nikhil Alulkar
Dear users,
Please add the to Show The taskbar at the time of program termination so that taskbar setting will be restored.
--Nikhil Alulkar.
ReplyWhat about the Start menu???
Posted by Legacy on 07/18/2001 12:00amOriginally posted by: Martin Cannon
It seems to me that this code is completely useless because even if you hide the taskbar, you can still use the start keyboard key (or Ctrl+Esc) to display the start menu!?!
ReplyIf anyone knows how to restrict the start button (while still starting the explorer.exe shell on startup) please let me know, I've been trying for ages!!!
An easier way
Posted by Legacy on 05/03/2001 12:00amOriginally posted by: Hadi Dayvary
Reply