procedure TfrmMain.FormResize(Sender: TObject);
begin
  if frmMain.WindowState=wsMinimized then begin
     showwindow(Handle,sw_hide);
  end;
end;

解决方案 »

  1.   

    ShowWindow(Application.Handle,SW_SHOW);
            Application.Restore;
            Application.BringToFront;
      Application.Minimize;
      ShowWindow(Application.Handle,SW_HIDE);
      

  2.   


      Application.Minimize;
      ShowWindow(Application.Handle,SW_HIDE);
      

  3.   

    不行啊,最小化时,FormResize事件根本捕捉不到
      

  4.   

    ShowWindow(Application.Handle,SW_HIDE);          hide
    ShowWindow(Application.Handle,SW_show);          show
      

  5.   

    自己捕捉WS_MINIMIZE消息,自己处理,很简单的
      

  6.   

    WMSYSCOMMAND(var message: TMessage); message WM_SYSCOMMAND;
    SetWindowLong();
    这两个应该可以解决你的问题了!
      

  7.   

    处理系统控制菜单的声明如下
    public
       procedure dominimize(var message:TMessage);message wm_syscommand;实现过程如下:procedure TForm1.dominimize(var message:TMessage);
    begin
      inherited;
      if message.WParam=sc_icon then
      showwindow(application.handle,sw_hide);
    end;