Q&A

  • 작업표시줄 클릭시 최소화 될때 알고싶은데 어떻게 하면 되나요? (API 사용법 좀 알려주세요)
실행중인 프로그램을 작업표시줄에서 클릭하면 최대,초소화 되잖아요..

최소화됐을때를 알고싶은데.... 어찌하면 되는지 조언 좀 주세요..

그리고...  API를 어떻게 이용해야 되는지 몰겠습니다.

API 를 직접 코딩한적이 없어서... 어떻게 해야하는지 막막합니다.

아시는분 알려주세요....

4  COMMENTS
  • Profile
    구창민 2003.02.26 20:54
    안녕하세요~ 구창민입니다

    최소화 되고난뒤를 말씀하시는 건가여?

    아니면 최소화 될 때를 말씀하시는 건가여?

    조금만 더 상세히 질문하시면 답벼하기 수월한데..^_^;

    음..

    현재 최소화 되어 있는지를 알고자 한다면,

    if IsIconic(프로그램 Handle) then...

    하시면 되구여,

    최소화 될때를 알려면,

    WM_SYSCOMMAND 를 가로채시면 됩니다.

    아래처럼여..

    unit Unit1;

    interface

    uses
    SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
    Forms, Dialogs;

    type
    TForm1 = class(TForm)
    public
    procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.DFM}

    procedure TForm1.WMSysCommand;
    begin
    if (Msg.CmdType = SC_MINIMIZE) or (Msg.CmdType = SC_MAXIMIZE) then
    MessageBeep(0);
    DefaultHandler(Msg);
    end;

    end.  

    즐건 프로그래밍 하시길~~



  • Profile
    수서니 2003.02.27 02:55
    ^^
  • Profile
    이순구 2003.02.26 23:46
    WM_SYSCOMMAND로는 작업표시줄을 클릭하여 최소화되는 때는 알지못하는군요......
    WM_SHOWWINDOW를 이용하면 어느경우나 최소화되는 때를 알 수 있는 것 같습니다...

    procedure TForm1.WmShowWindow(var Msg: TWMShowWindow);
    begin
            inherited;

            if (not Msg.Show) and (Msg.Status = SW_PARENTCLOSING) then
                    ShowMessage('Minimized');
    end;

  • Profile
    구창민 2003.02.27 02:46