showmessage('aaaaaa');
之后,要点击确定键,这个对话框才关闭.我现在要是这个对话框3秒之后自动关闭,没有什么办法啊?

解决方案 »

  1.   

    ShowMessage这种模态窗体会使本线程挂起,你可以试试用其他线程模式键盘操作 发出一个 回车按键如给你代码procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      keybd_event(13,MapVirtualKey(13,0),0,0); 
      keybd_event(13,MapVirtualKey(13,0),KEYEVENTF_KEYUP,0);
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      ShowMessage('hi');
    end;
      

  2.   

    beyondtkl(大龙驹<逝追.弗瑞德>) 得方法很好  
    我得稍微复杂点,提供出来参考
    timer1timer;
    var
    h:thandle;
    begin
    h:=findwindow('#32770','Project1');//h:=getactivewindow也行但要保证showmessage窗口时当前最顶端窗口
     #32770是showmessage窗体得类名 我以前自己写得用enumwindows和enumchildwindows枚举所有窗体自己找出来的  project1是窗体名
      if h<>0 then
       postmessage(h,wm_close,0,0);
    end;
      

  3.   

    一定要用showmessage么
    创建一个form,和“showmessage”界面设置一样
    当需要的时候创建
    不要的时候freeandnil
      

  4.   

    eagle_2,非常正确,用时间空件最好