delphi中如何在程序中判断一个窗口是否已经Show了?(这个窗口是程序自己的)

解决方案 »

  1.   

    if form1.Showing then
    showmessage('程序为显示状态')
    else
    showmessage('程序为隐藏状态');
      

  2.   


    IsWindow(hWnd: HWND): BOOL; 
      单元:windows.pas 
      作用:判断一个窗口句柄是否有效
      返回值:有效返回TRUE,否则返回FALSE 
      示例:procedure TForm1.Button1Click(Sender: TObject); 
      begin 
      if (IsWindow(form1.Handle)) then 
      Button1.Caption:=‘TRUE' 
      else 
      Button1.Caption:=‘FALSE'; 
      end; 
      

  3.   

    不要忘了加上uses shellapi  ;
      

  4.   

    if Form2.Visible then
      '已经SHOW了!'
      

  5.   

    对于一个被释放了的窗体来说,boytomato(深爱一人叫颖的女孩!) 也许可行,其他的似乎就不起作用了,解决的办法做好用:
    if form1=nil then
    showmessage('显示')
    else
    showmessage('未显示');在释放的时候,不要忘了再加一句:
    form1.free;
    form1:=nil;这样也许可以解决搂主的问题
      

  6.   

    var h1:Thandle;
    H1:=findwindow(nil,Form.caption);
    if H1<>0 then
    Showmessage(‘显示’)
    else
    showmessage('不显示');
      

  7.   

    if assigned(form1) then
     showmessage('有了')
      

  8.   

    楼上的这个 只要 form1.create,  assigned 就会是true,没用的....
      

  9.   

    判断一个窗口是否已经Show了用findwindow或者findwindowEX这两个API是简单有效的方法