C & C++/MFC 컨트롤
[Tip] 작업표시줄 숨기기
izen8
2011. 4. 4. 17:44
전체화면으로 처리할일이 생기는데 만약 작업표시줄을 없애야 한다면?
자동으로 숨기기 기능 코드이다. 바로 적용시키면 된다.
- {
- APPBARDATA stAppBarData;
- // 구조체 초기화
- ZeroMemory( &stAppBarData, sizeof stAppBarData );
- stAppBarData.cbSize = sizeof stAppBarData;
- // 작업 표시줄 핸들을 찾는다.
- stAppBarData.hWnd = (HWND)FindWindow( _T("Shell_TrayWnd"), NULL );
- stAppBarData.lParam |= ABS_AUTOHIDE;
- // 쉘 메시지를 전달한다.
- SHAppBarMessage( ABM_SETSTATE, &stAppBarData );
- }
void CMyPlannerDlg::hideWorkBar() { APPBARDATA stAppBarData; // 구조체 초기화 ZeroMemory( &stAppBarData, sizeof stAppBarData ); stAppBarData.cbSize = sizeof stAppBarData; // 작업 표시줄 핸들을 찾는다. stAppBarData.hWnd = (HWND)FindWindow( _T("Shell_TrayWnd"), NULL ); stAppBarData.lParam |= ABS_AUTOHIDE; // 쉘 메시지를 전달한다. SHAppBarMessage( ABM_SETSTATE, &stAppBarData ); }
그리고 복구하는 코드이다. 복구를 하지 않으면 사용자에게 불편을 초래할 수 있다.
- void CMyPlannerDlg::showWorkBar()
- {
- APPBARDATA stAppBarData;
- // 구조체 초기화
- ZeroMemory( &stAppBarData, sizeof stAppBarData );
- stAppBarData.cbSize = sizeof stAppBarData;
- // 작업 표시줄 핸들을 찾는다.
- stAppBarData.hWnd = (HWND)FindWindow( _T("Shell_TrayWnd"), NULL );
- stAppBarData.lParam |= ABS_ALWAYSONTOP;
- // 쉘 메시지를 전달한다.
- SHAppBarMessage( ABM_SETSTATE, &stAppBarData );
- }
void CMyPlannerDlg::showWorkBar() { APPBARDATA stAppBarData; // 구조체 초기화 ZeroMemory( &stAppBarData, sizeof stAppBarData ); stAppBarData.cbSize = sizeof stAppBarData; // 작업 표시줄 핸들을 찾는다. stAppBarData.hWnd = (HWND)FindWindow( _T("Shell_TrayWnd"), NULL ); stAppBarData.lParam |= ABS_ALWAYSONTOP; // 쉘 메시지를 전달한다. SHAppBarMessage( ABM_SETSTATE, &stAppBarData ); }
이렇게해서 간단히 구현할 수 있다.