개발 환경: C++ Builder XE5
24시간, 365일 운영되어야할 S/W라서,
TTrayIcon을 이용해서 프로그램을 SystemTray에 넣었습니다.
SystemTray로 들어가지 않은 상태(화면에 보이는 상태)에서는
작업관리자의 작업 목록에서 강제 종료를 해버리면, 종료되지 않고 SystemTray로 들어가 버리내요.
SystemTray에 들어간 상태에서는 작업관리자의 작업목록에 보이지 않네요
(프로세스 목록에는 보이네요.)
소스코드는 아래와 같이 같은데,.. .
아마도 강제로 죽이는 것이 해당 프로그램에 WM_CLOSE 이벤트를 보내서 그런것인가 싶습니다.
// Form Close Event
void __fastcall TFormMain::FormClose(TObject *Sender, TCloseAction &Action)
{
if ( !m_bExit ) {
Action = caNone;
GoSystemTray();
return;
} else {
Action = caFree;
return;
}
}
사용자가 프로그램의 X버튼을 누르면, SystemTray로 이동하고,
작업관리자나 외부에서 프로그램을 종료시키면 그냥 자동으로 종료하게끔 하고 싶은데..
어떻게 해야 할 지?
고수님들의 조언을..
감사합니다.
|