任务栏的隐藏可以这么作:
HWND hShellTray = ::FindWindow("Shell_TrayWnd",NULL);
if (m_bHideTaskBar) ::ShowWindow(hShellTray,SW_HIDE);
else
::ShowWindow(hShellTray,SW_SHOW);当这样不怎么合理,我希望程序表现的向“自动隐藏”那样
当鼠标移动到一定的位置时,任务栏会重新出来。于是我找到了SHAppBarMessage()这个函数
但是在使用的过程中,却发现完全没有效果。 APPBARDATA AppBarData;
memset(&AppBarData, 0x00, sizeof(APPBARDATA));
AppBarData.cbSize = sizeof(APPBARDATA);
AppBarData.hWnd = this->GetSafeHwnd(); UINT TaskBar = SHAppBarMessage(ABM_GETTASKBARPOS, &AppBarData); 
TaskBar = (UINT)SHAppBarMessage(ABM_GETSTATE , &AppBarData);


if ( TaskBar == 2)
{ // The taskbar is only in the always-on-top state.
AppBarData.lParam = ABS_AUTOHIDE;
TaskBar = SHAppBarMessage(ABM_SETAUTOHIDEBAR, &AppBarData); 
}虽然返回值是正确的,但任务栏并没有被隐藏,请问这是怎么回事?
谢谢!