这样的代码确实能够让form1弹出来而且也获得焦点,但是只要你单击了悬浮窗口(只要这个时候form1已经显示,也就是说只要form1还停留在任务栏不是托盘区)form1也会弹出来啊?我只想让form1在双击form2的时候弹出来啊?要怎么样改写代码?
implementation
uses unit1;
{$R *.dfm}procedure TForm2.createparams(var params: TCreateparams);
begin
  inherited;
  with params do
   begin
     Style := Params.Style xor WS_DLGFRAME;
     wndparent:=GetDesktopWindow;  //让form2的父窗口为桌面。
   end;
end;procedure TForm2.FormCreate(Sender: TObject);
begin
    setwindowlong(handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
    height:=50;
    width:=50;
end;procedure TForm2.image1DblClick(Sender: TObject);
begin  // releasecapture;
   //perform(WM_SYSCOMMAND,$F012,0);
      SETWINDOWLONG(application.Handle,GWL_EXSTYLE,WS_EX_APPWINDOW);
     showwindow(form1.Handle,sw_show);
      showwindow(application.Handle,sw_show);
      setforegroundwindow(application.Handle);
end;procedure TForm2.image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var cursorpos:tpoint;
begin
   case button of
     mbleft:
        begin
          releasecapture;
          perform(WM_SYSCOMMAND,$F012,0);
        if form1.showing  then
         form1.SetFocus;
        end;
     mbright:
       begin
        GetCursorPos(cursorpos);
        form1.PopupMenu1.Popup(cursorpos.X,cursorpos.y);
        end;
    end;end;