기본카테고리

[c++] 태스크바 자동숨기기 및 태스크바 복구

DevAdd 2023. 4. 25. 16:08




/// <summary>
/// 태스크바 자동숨기기 설정 또는 해제하기
/// </summary>
/// <param name="bShow">자동숨기기 설정 여부</param>
void ShowTaskbar(BOOL bShow)
{
    if (bShow)
    {
        // 작업표시줄 숨기기 (자동숨김)
        APPBARDATA appBarData;
        memset(&appBarData, 0, sizeof(appBarData));
        appBarData.cbSize = sizeof(appBarData);
        appBarData.hWnd = (HWND)FindWindow(_T("Shell_TrayWnd"), NULL);
        appBarData.lParam |= ABS_AUTOHIDE;
        ::SHAppBarMessage(ABM_SETSTATE, &appBarData);
    }
    else
    {
        // 작업표시줄 복구 (자동숨김 해제)
        APPBARDATA appBarData;
        memset(&appBarData, 0, sizeof(appBarData));
        appBarData.cbSize = sizeof(appBarData);
        appBarData.hWnd = (HWND)FindWindow(_T("Shell_TrayWnd"), NULL);
        appBarData.lParam |= ABS_ALWAYSONTOP;
        ::SHAppBarMessage(ABM_SETSTATE, &appBarData);
    }
}