发送消息,关闭弹出窗口解决思路
发送消息,关闭弹出窗口
程序运行时,经常有弹出了个窗口,要自动关闭它,该怎么办?我弹出窗口的模式是
Application.MessageBox(Pchar('****'),Pchar('***'),Mb_OK); //我用个线程来不断搜索,试图关闭它,可是不成功。help!
Application.MessageBox标题和内容都不固定。谢谢各位大大大大
------解决方案--------------------
先findwindow,再sendmessage
------解决方案--------------------
FindWindowEx(父窗口句柄, 0, '#32770 (Dialog)', nil)
------解决方案--------------------
???有同感^
------解决方案--------------------
呵呵呵,这个功能我做过的。
场景是这样的:比如在点击保存按钮时,保存结束后,利用系统application弹出消息,
提示用户,但过1秒或2秒钟,自动关闭这个提示窗。
实现方法:利用Ttimer实现,例如设置Ttimer为1秒执行
程序运行时,经常有弹出了个窗口,要自动关闭它,该怎么办?我弹出窗口的模式是
Application.MessageBox(Pchar('****'),Pchar('***'),Mb_OK); //我用个线程来不断搜索,试图关闭它,可是不成功。help!
Application.MessageBox标题和内容都不固定。谢谢各位大大大大
------解决方案--------------------
先findwindow,再sendmessage
------解决方案--------------------
FindWindowEx(父窗口句柄, 0, '#32770 (Dialog)', nil)
------解决方案--------------------
???有同感^
------解决方案--------------------
呵呵呵,这个功能我做过的。
场景是这样的:比如在点击保存按钮时,保存结束后,利用系统application弹出消息,
提示用户,但过1秒或2秒钟,自动关闭这个提示窗。
实现方法:利用Ttimer实现,例如设置Ttimer为1秒执行
- Delphi(Pascal) code
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;
------解决方案--------------------
线程里不行,时钟里可以。