Q&A

  • 트레이 아이콘사용시 윈도우종료가 안됩니다.
트레이 아이콘을 이용하였는데 윈도우 종료시 프로그램이 안죽어서
윈도우 종료가 안됩니다...
여기 게시판에서 아래와 같이 하라고 해서 했는데 안되더군요
부탁드립니다.
XP(델파이5)-마이다스를 사용하고 있습니다
.
.
.
  private
    procedure WmQueryEndSession(var Msg: TMessage);message WM_QUERYENDSESSION;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  ILJUNGPRF: TILJUNGPRF;
  Mbu,Mtim:String;
implementation

uses BUSERU, VIEWU, DMU;

{$R *.DFM}
procedure TILJUNGPRF.WmQueryEndSession(var Msg: TMessage);
begin
  ShowMessage('윈도우 종료가 에러입니다');  {이부분은 나타납니다}
  Msg.Result:=Integer(true);
end;

procedure TILJUNGPRF.FormCreate(Sender: TObject);
begin
  ShowWindowAsync(Handle, SW_HIDE);
.
.
-끝-
1  COMMENTS
  • Profile
    구창민 2003.02.27 22:32
    어플의 메세지를 처리하는 부분을 좀 수정해보세요.

    잘동작되는 샘플을 올립니다.

    보시고 참고하셔서 즐거운 프로그래밍 하시길~

    procedure TForm1.WndProc(var Message: TMessage);
    var pt: Tpoint;
    begin
      inherited;
      case Message.Msg of
        WM_QUERYENDSESSION:  
        begin
            Message.Result := LongInt(True);
          end;
        WM_TRAYICON:
          case Message.lParam of
            WM_LBUTTONDBLCLK:
              begin
                ShowWindow(Application.Handle, SW_SHOWNORMAL);
                Self.Show;
                SetForegroundWindow(Handle);
              end;
            WM_RBUTTONDOWN:
              begin
                GetcursorPos(pt);
                SetForegroundWindow(Handle);
                PopupMenu1.Popup(pt.x, pt.y);
              end;
          end;
      end;
    end;