void CTestDlg::HideTaskBar(BOOL boolHide/* =FALSE */)
{
CWnd *pWnd=NULL;
pWnd=FindWindow("Shell_TrayWnd",NULL);
LPARAM lparam;
if(boolHide)
{//隐藏任务栏
lparam=ABS_AUTOHIDE | ABS_ALWAYSONTOP;
::ShowWindow(pWnd->m_hWnd,SW_HIDE);
}
else
{//显示任务栏
lparam=ABS_ALWAYSONTOP;
::ShowWindow(pWnd->m_hWnd,SW_SHOW);
}
#ifndef ABM_SETSTATE
#define ABM_SETSTATE 0x0000000a
#endif
APPBARDATA apBar;
memset(&apBar, 0, sizeof(apBar));
apBar.cbSize = sizeof(apBar);
apBar.hWnd = pWnd->m_hWnd;
if(apBar.hWnd != NULL)
{
apBar.lParam = lparam;
::SHAppBarMessage(ABM_SETSTATE , &apBar); //显示隐藏任务栏
}
}
MFC隐藏/显示任务栏
在mfc中我们可以通过代码来控制任务栏的显示与隐藏。这主要是通过对名为Shell_TrayWnd的窗口进行操作。代码如下: