任何判断当前任务栏是否隐藏

解决方案 »

  1.   

    HWND hwnd=FindWindowEx(NULL,NULL,"Shell_trayWnd",NULL);//得到任务栏CWnd pwnd=CWnd::FromHandle(hwnd);
    CRect rect;
    pwnd.GetClientRect(&rect);  //计算其高度,宽度,通过高度或宽度来判断,任务栏可能被用户拖到屏幕的上,下,左,右。
    四种情况都要考虑。
      

  2.   

    首先使用GetSystemMetrics函数得到屏幕的分辨率,然后再使用SystemParametersInfo和SPI_GETWORKAREA参数获得屏幕的工作区大小,如果二者相等,则任务栏隐藏。