|
어떤 방법으로 아이콘을 종료시키는지 알 수 없어서 확실한 답변을 드릴수가 없지만..
윈도우가 종료가 되지 않는다는 것은.. 어플리케이션의 종료를 기다리는 상황이 대부분입니다.
윈도우를 종료할때 메시지가 날아오는데, 이 메시지를 받아서 아이콘을 빼는 그런식의 루틴을 만들어
주신다면, 깔끔하게 해결될것 같습니다.
WM_CLOSE등에서도 처리해주시고, OS가 종료될때 특별한 메시지가 오는게 있는데, 이 메시지도 함께
받아서 처리해 주시면 될것 같습니다. (메세지를 까먹었네요.. -_- 잘 안되시면 다시 찾아드릴께요..)
조진수 님이 쓰신 글 :
: 트레이 아이콘을 실행 시킨 후에 프로그램을 종료 시키지 않
:
: 고, Os를 종료시킬 때 프로그램을 종료 시키려고 하는데....
:
: 트레이 아이콘은 사라지는데... Os가 종료가 되지 않아서
:
: 이렇게 질문을 드립니다. 답변 부탁드립니다.(참고로 컴포트를 사용하는데... 컴포트도 Close가 되지 않
:
: 고, 다시 프로그램을 실행 시키면 이미 프로그램이 실행 되어 시작 할수 없다고도 나오네여....)
:
: void __fastcall TUSeoulMainForm::TrayIconRestore(TObject *Sender)
: {
: Show(); //트레이 아이콘에서 폼 창을 띄워 준다.
: }
: //---------------------------------------------------------------------------
:
: void __fastcall TUSeoulMainForm::TrayIconRunTimerTimer(TObject *Sender)
: {
: TrayIconRunTimer->Enabled = False;
: Hide();
: }
: //---------------------------------------------------------------------------
:
: void TUSeoulMainForm::TrayIconRun()
: {
: TrayIcon->Visible = True;
: }
: //---------------------------------------------------------------------------
:
: void __fastcall TUSeoulMainForm::FormClose(TObject *Sender,
: TCloseAction &Action)
: {
: if(ComPort->Connected)
: ComPort->Close();
: if(TrayIcon->Visible)
: TrayIcon->Visible = False;
: if(ComPortTimer->Enabled)
: ComPortTimer->Enabled = False;
: }
: //---------------------------------------------------------------------------
:
:
|