WebBrowser控件,运行时错误'-2147024726(800700aa)':Automation错误
我用WebBrowser控件调用了一个URL,这个URL的网页,弹出了一个Alert对话框
如果我手动关闭这个Alert对话框,然后再手动点一个按钮执行一句代码:WebBrowser1.Navigate2 "URL"就不出错,
但是我用EnumWindowsProc找到Alert对话框的句柄,再用EnumChildWindowsProc找到Alert对话框上的“确定”按钮的句柄,然后用SendMessage hwnd, &HF5, 0, 0关闭Alert对话框,再执行这句代码:WebBrowser1.Navigate2 "URL"就会出错:
运行时错误'-2147024726(800700aa)':Automation错误
问题点数:100、回复次数:7Top
1 楼cqzd(陈庆 ★★★★★)回复于 2005-07-03 08:17:27 得分 0
上去Top
2 楼DooDu(杜霖:I want,I can(开关拉))回复于 2005-07-03 08:49:12 得分 30
upTop
3 楼cqzd(陈庆 ★★★★★)回复于 2005-07-03 08:50:00 得分 0
这个“自动化错误”到底是什么错误呢?Top
4 楼cqzd(陈庆 ★★★★★)回复于 2005-07-03 09:05:31 得分 0
查不到相关资料,郁闷中。。。Top
5 楼cqzd(陈庆 ★★★★★)回复于 2005-07-03 09:51:22 得分 0
晕啊,真是“自动化错误”啊
用鼠标手工点,就不出错,
用程序自动点,就出错误Top
6 楼supergreenbean(超级绿豆(MSMVP - VB) - 升级归来~)回复于 2005-07-03 10:40:26 得分 30
你不要发送BM_CLICK,尝试用mouse_event模拟点击看看Top
7 楼jiangsheng(蒋晟.Net[MVP])回复于 2005-07-03 13:03:24 得分 40
你可以通过在浏览器控件的容器的IOleClientSite实现对象中实现IDocHostShowUI::ShowMessage来控制对话框的显示,但是你需要调用浏览器的IOleObject::SetSite来设置你自己的IOleClientSite实现。
推荐使用VC的MFC或者ATL类库来编写这个功能——这些类库中你可以直接访问并通过派生OLE容器类来自定义浏览器控件的行为。Top




