본문 바로가기

Programming/Windows.MFC

Taskbar 숨기기

반응형

 프로그램들을 실행하다보면 하단에 taskbar에 실행중인 목록들이 보이는데, 너무 많은 목록들의 나열로 인해서 지저분 할 때가 있다. 이럴때는 다음과 같이 taskbar를 숨겨서 깔끔한 상태를 유지하자.

COM Lib에 보면 다음과 같이 taskbar에 대한 내용을 정리 하고 있다.
DECLARE_INTERFACE_(ITaskbarList,IUnknown)
{
    STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID* ppvObj) PURE;
    STDMETHOD_(ULONG,AddRef)(THIS) PURE;
    STDMETHOD_(ULONG,Release)(THIS) PURE;
    STDMETHOD(ActiveTab)(HWND) PURE;
    STDMETHOD(AddTab)(HWND) PURE;
    STDMETHOD(DeleteTab)(HWND) PURE;
    STDMETHOD(HrInit)(HWND) PURE;
};


다음을 활용방법이다.

pTaskbar를 쓰기 위해서 다음과 같이 초기화 해주고
LPITaskbarList pTaskbar;
CoInitialize(0);
CoCreateInstance(CLSID_TaskbarList,
0,CLSCTX_INPROC_SERVER,IID_ITaskbarList,(void**)&pTaskbar);
pTaskbar->HrInit();

숨기려는 응용프로그램의 핸들을 얻어서 제어해주면 된다.
HWND hWnd = ::FindWindow("CalcFrame", NULL)
pTaskbar->AddTab(hWnd);  //hide Handle
pTaskbar->DeleteTab(hWnd); //reopen Handle

해당 윈도우를 얻는 방법은 Spy++을 이용하면 된다.

위의 내용을 토대로 작성한 프로그램이다.



숨기려는 응용프로그램을 선택 후 Hide를 누르면 숨겨지게 되고, Open을 누르게 되면 현재 까지 숨겨졌던 응용프로그램을 다시 보여주게 된다.



반응형

'Programming > Windows.MFC' 카테고리의 다른 글

다중 커멘트라인 입력 받기  (0) 2010.05.06
Dialog 숨기기  (0) 2009.12.09
MFC 파일 입출력(CFile 사용)  (0) 2009.10.15
종료 단축기 만들기  (0) 2009.10.01
_tcstok 사용방법  (1) 2009.08.12