采用多线程技术来关闭application.messagebox_Delphi

  • 内容
  • 评论
  • 相关

//主要思路:在另个个线程查找到该消息框,然后发WM_CLOSE消息  
//为区别是其他的程序的消息框,我在提示的标题上多了一个空格,其实也可以用其他的办法。  
//原码如下:  

var   myclose:tcloseother;  

begin  
  myclose:=tcloseother.Create(false);  
  myclose.FreeOnTerminate:=true;  

http://www.gaodaima.com/65588.html采用多线程技术来关闭application.messagebox_Delphi

  application.MessageBox('程序已经运行!','消息提示 ',mb_ok+mb_iconinformation);  
end;  

unit closeother;  

interface  

uses  
  Classes,messages,sysutils,windows,forms;  

type  
  tcloseother = class(TThread)  
  private  
    { Private declarations }  
  protected  
    procedure Execute; override;  
  public  
    //procedure create(myhwnd:integer);  
  end;  

implementation  

{ Important: Methods and properties of objects in VCL can only be used in a  
  method called using Synchronize, for example,  

      Synchronize(UpdateCaption);  

  and UpdateCaption could look like,  

    procedure tcloseother.UpdateCaption;  
    begin  
      Form1.Caption := 'Updated in a thread';  
    end; }  

{ tcloseother }  

//procedure tcloseother.create(myhwnd: integer);  
//begin  
//end;  

procedure tcloseother.Execute;  
const  
  NumSec=5;  //设置5秒后自动关闭  
var  
  messagehwnd:integer;  
  starttime:tdatetime;  
begin  
  StartTime := now;  
  repeat  
    Application.ProcessMessages;  
  until Now > StartTime + NumSec * (1/24/60/60);  
  messagehwnd:=FindWindow(nil,'消息提示 ');  
  postmessage(messagehwnd,wm_close,0,0);  
end;  

end. 

欢迎大家阅读《采用多线程技术来关闭application.messagebox_Delphi》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

原创文章,转载请注明: 转载自搞代码

本文链接地址: 采用多线程技术来关闭application.messagebox_Delphi

微信支付二维码

微信 赏一包辣条吧~

支付宝支付二维码

支付宝 赏一听可乐吧~

评论

0条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注