C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[902] [System] TrayIcon이 사라질때 ..
장성호 [nasilso] 9337 읽음    2009-07-02 11:45
TrayIcon이 사라지는 경우
혹시 TrayIcon이 사라지는 경우를 겪어보신적 있으세요?

윈도우즈의 탐색기인 exeplore.exe가 새로 실행되면 trayicon이 모두 사라집니다.
그러면 tray에 아이콘을 add해 두었던 process에서 알아서 다시 add해줘야하죠


탐색기 exeplore.exe가 새로 실행되는것을 알려면?
그럼  exeplore.exe가 새로 실행되었다는것을 알아야  tray에 아이콘을 새로 등록할것인데..
그 시점을 어떻게 알수 있을까요?

그것은 "TaskbarCreated"라는 메세지를 등록해서 그것을 모니터링해서 알수 있습니다.

아래와 같이 하면  explore.exe가 다시 실행되었을때 trayicon이 사라지는 문제가 없습니다.

UINT iTaskBarCreate; 

void __fastcall TF_LogMain::FormCreate(TObject *Sender)
{
     iTaskBarCreate = ::RegisterWindowMessage(_T("TaskbarCreated"));
}
void __fastcall TF_LogMain::WndProc(Messages::TMessage &Message)
{
    if(Message.Msg==iTaskBarCreate)
    {
        //탐색기가 다시 실행되었을때 TrayIcon 다시 등록
        AddTrayIcon();
    }
    TForm::WndProc(Message);
}
//------------------------------------------------------


뭐 별건 아닌데..
쪼금더 완성도 높은 Application을 위하여..
아제나 [azena]   2009-07-03 13:16 X
와우 매우 뷰티풀한 기능이네요 ^^

+ -

관련 글 리스트
902 [System] TrayIcon이 사라질때 .. 장성호 9337 2009/07/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.