在主窗口的 线程中 通过发送消息 关闭 一个 ShowModal的窗口?

解决方案 »

  1.   

    用 SendMessage(hWnd,WM_CLOSE,0,0);为什么 没有应啊//hwnd
      

  2.   

    hWnd为 要关闭的窗口句柄
      

  3.   

    PostMessage(GetActiveWindow,WM_CLOSE,0,0)
      

  4.   

    我是用 窗口对象 得到她的句柄的
     窗口对象明:FrmWaiting创建窗口 FrmWaiting;在线程中  
    判断条件 ;然后
       hWnd:=FrmWaiting.HANDLE;
       SendMessage(hWnd,WM_CLOSE,0,0);为什么 没有应啊//hwnd这样应该没有错误吧?
    可是。?
    谢谢 两位大哥的提醒!    
      

  5.   

    在 执行过程 中总出现异常 
    "Can't Make a Visible Window Modal"
      

  6.   

    SendMessage(GetActiveWindow,WM_CLOSE,0,0);
    用这个方法  好像也不行啊?
    怎么办啊?
      

  7.   

    ShowModalprocedure TForm1.Button1Click(Sender: TObject);
    begin
      Form2.ShowModal;
    end;procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      sendmessage(form2.Handle,WM_ClOSE,0,0);
    end;
      

  8.   

    sendmessage,postmessage都可以关闭的。
      

  9.   

    搞出来了 不过 有的时候 我把程序最小化了 (当然 还在执行)此时 如果 ShowModal的窗口还在时 就会出现:
    在 执行过程 中总出现异常 
    "Can't Make a Visible Window Modal"
    不知道怎么解决!
    还请大哥们指教!
    (有新帖):
    http://community.csdn.net/Expert/topic/4582/4582901.xml?temp=8.646792E-02