app가 트레이에만 띄우도록 하려면 > WINAPI TIP

본문 바로가기
사이트 내 전체검색

WINAPI TIP

app가 트레이에만 띄우도록 하려면

페이지 정보

profile_image
작성자 이즈
댓글 0건 조회 859회 작성일 06-12-28 04:53

본문

winamp같은 어플리케이션이 실행될 때 윈도우가 뜨더라도
 상태바에는 뜨지 않고 트레이에만 생기는 모습을 보았을 것이다.
 이것을 구현하려면 다음의 코드를 사용한다
void HideApplication(HWND hwnd)
 { ShowWindow(hwnd, SW_HIDE);
 ShowOwnedPopups(hwnd, FALSE);
 SetWindowPos(hwnd, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
 }
CApp 클래스에 위와 같은 이름을 가진 멤버 함수가 존재하는데
그 함수를 사용해도 된다.
실제 응용 프로그램을 태스크 바에서 사라지도록 하는 것은
 SetWindowPos API에 있다.
 또한 Shell_NotifyIcon이란 API가 있는데 이것을 이용해봐도 될 것이다.
WINSHELLAPI BOOL WINAPI Shell_NotifyIcon( DWORD dwMessage, PNOTIFYICONDATA pnid );

주의해야할 것은 응용 프로그램은 메인 프레임을 가져야 하나
메인 프레임을 활성화시키지는 않도록 한다.
활성화만 안시키면 <Alt-Tab>에서 나타나지 않을 것이다.
 대신 별도의 윈도우를 WS_POS으로 만들어 이를 트레이에 등록해야 한다.
 즉, 트레이에 등록된 팝업 스타일의 윈도우가 모든 메시지를 가로채도록 하기 위함이다.

댓글목록

등록된 댓글이 없습니다.

Total 65건 1 페이지

검색

회원로그인

회원가입

사이트 정보

컴퓨터 정보,윈도우즈,리눅스,포토샵,3ds
맥스,프로그래밍 강좌팁

접속자집계

오늘
343
어제
558
최대
5,287
전체
630,448
Copyright © www.qdata.co.kr All rights reserved.