程序运行时,经常有弹出了个窗口,要自动关闭它,该怎么办?我弹出窗口的模式是
Application.MessageBox(Pchar('****'),Pchar('***'),Mb_OK); //我用个线程来不断搜索,试图关闭它,可是不成功。help!
Application.MessageBox标题和内容都不固定。谢谢各位大大大大
Application.MessageBox(Pchar('****'),Pchar('***'),Mb_OK); //我用个线程来不断搜索,试图关闭它,可是不成功。help!
Application.MessageBox标题和内容都不固定。谢谢各位大大大大
hwnd1:=FindWindow(lpclassname,lpwindownname);//
for i:=0 to Screen.FormCount-1 do 都遍历不到那个Application.MessageBox窗口,但是可以遍历showmessage弹出的窗口。
EnumWindows()或者
GetWindow()
场景是这样的:比如在点击保存按钮时,保存结束后,利用系统application弹出消息,
提示用户,但过1秒或2秒钟,自动关闭这个提示窗。实现方法:利用Ttimer实现,例如设置Ttimer为1秒执行var H:THANDLE;
buf:array of [0..128] of char;
begin
time1.enabled:=false;
H:=GetActiveWindow();
if H<>0 then
begin
GetClassName(H,buf,64);
GetWindowText(H,buf+64,64);
end;
if (StrComp(buf,'#32770')=0) then
EndDialog(H,IDOK);
end;
在需要显示提示窗的按钮中激活timer1 即timer1.enabled:=true;
http://www.euromind.com/iedelphi/embeddedwb.htm 在它的OnShowMessage中屏蔽:
http://www.euromind.com/iedelphi/embeddedwb/onshowmessage.htm