500高分求解!
http://zhidao.baidu.com/question/83091677.html
WebBrowser如何关闭弹出的alert对话框,我找了很久也没有解决办法。我的程序是用delphi写的。有试过几种方法。
第一种用 WMActivate(var Msg: TWMActivate); message WM_ACTIVATE; 事件在正常情况下可以自动关闭,但我的程序是运行在系统托盘的,在最小化到托盘后,这个事件就不起作用了。
第二种用 obj.parentWindow.execScript "function showModalDialog(){return;} 类似的方法,网页本页面弹出的对话框可以屏蔽,但我的程序调用了某个ASPX页面,它是提交后返回时弹出对话框的,也不起作用了。
对话框弹出的时候,只有WebBrowser控件不可用,程序还是正常运行的,我就用个 Timer 来 FindWindow('IEFrame',nil) 然后SendMessage关闭事件,但是根本没效果。
WebBrowser如何关闭弹出对话框
答案:2 悬赏:0 手机版
解决时间 2021-04-14 01:02
- 提问者网友:记得曾经
- 2021-04-13 05:32
最佳答案
- 五星知识达人网友:鸽屿
- 2021-04-13 05:50
.net?
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
MessageBox.Show("");
}
这个是C#的代码
添加FormClosing事件
不知道delphi的有没有这个···我不懂不好意思
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
MessageBox.Show("");
}
这个是C#的代码
添加FormClosing事件
不知道delphi的有没有这个···我不懂不好意思
全部回答
- 1楼网友:七十二街
- 2021-04-13 07:06
在csdn上有类似的问题,参见http://topic.csdn.net/u/20080313/00/5e2add09-6103-405f-8f6b-6bbb220e9cfd.html
function callbackproc(h, hmainform: hwnd): boolean; stdcall;
var
hchild : hwnd;
begin
result := true;
if getparent(h) = hmainform then begin //可以在这里进一步判断类名,以免关掉其他弹出窗口
hchild := findwindowex(h, 0, pchar('button'), pchar('确定'));
if hchild > 0 then sendmessage(hchild, bm_click, 0, 0);
end;
end;
procedure tform1.timer1timer(sender: tobject);
begin
enumwindows(@callbackproc, self.handle);
end;
procedure tform1.button1click(sender: tobject);
begin
self.webbrowser1.navigate('c:\documents and settings\jiaotongju\桌面\test2\test.htm');
end;
procedure tform1.button2click(sender: tobject);
begin
self.timer1.enabled := true;//web页面装载完毕后开启timer
end;
procedure tform1.formcreate(sender: tobject);
begin
self.timer1.enabled := false;
self.timer1.interval:= 100;
end;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯