내가 만든 프로그램의 아이콘이 작업 표시줄(task bar)에 표시되지 않도록 해보자.
HWND hWnd = AfxGetMainWnd()->GetSafeHwnd(); long style = GetWindowLong(hWnd, GWL_EXSTYLE); style &= ~(WS_VISIBLE); style |= WS_EX_TOOLWINDOW; style &= ~(WS_EX_APPWINDOW); ::ShowWindow(hWnd, SW_HIDE); SetWindowLong(hWnd, GWL_EXSTYLE, style); ::ShowWindow(hWnd, SW_SHOW);
위와 같이 하면 된다. 구글에서 "C++ hide window from taskbar" 로 검색하면 나오는 첫 결과인 이 페이지를 따랐는데, 이 곳에 나와 있는 첫 번째 답변을 따라 그대로 하면 안 되었다. 그런데 질문 밑에 있는 BrendanMcK 의 답변에 의하면 GWL_STYLE 대신 GWL_EXSTYLE 을 사용하면 된다고 해서, 그렇게 하니 되었다. 어쨌든, 원리 - 라고 하긴 좀 그렇지만 - 를 좀 보자면, MSDN에서 설명하기를 taskbar 에 윈도우가 표시되지 않게 하기 위해선 toolbar 처럼 속성을 지정하면 된다고 한다. 만약 이미 툴바같은 속성이 없이 만들어진 윈도우를 taskbar 에서 감추기 위해선 무조건 style 만 변경해서 될 것이 아니라, 우선 감추고, 스타일을 변경하고, 그 후 다시 보이라고 했다. 따라서 위처럼 하면 된다. 1
- StackOverflow 싸이트. [본문으로]
'컴퓨터 > MFC_API' 카테고리의 다른 글
CListCtrl의 Report 형식에서 각 Cell 의 배경과 글자색을 변경하기 (1) | 2016.01.04 |
---|---|
CRichEditCtrl 에서 유니코드 표시 (0) | 2014.05.02 |
CRichEditCtrl 에서 줄바꿈 없애기 (0) | 2014.04.11 |
CRichEditCtrl 에서 바탕색/글자색 설정하기 (0) | 2014.04.10 |
파일 끌어 놓기 구현 (drag & drop)DragAcceptFiles(); (0) | 2014.01.03 |