怎样阻止WEBBROWSER弹出的警告窗口 如alert

时间:2022-03-26 23:52:32
在网上查到可以用Silent的BOOL值来屏蔽信息窗口
我给代码加了段,
m_WebBrow.SetSilent(TRUE);
可是没用
如果要通过查找WEBBROWSER的子窗口的方法,请问怎么个查找法,
FINDWINDOW(NULL,“MICROSOFT INTERNET EXPLORER"),这函数是这样用吗?这样好像是把当前所有进程的窗口都找了次(比如有个IE也出现了同样的警告窗口)
望高手们帮下忙解释解释,谢谢

12 个解决方案

#1


externel的方法可以重载。alert的好像SetSilent应该可以的啊。

#2


这是m_WebBrow在class .H文件的定义
CWebBrowser2 m_WebBrow;

这是在一个按钮的相应函数里的调用setsilent  
m_WebBrow.SetSilent(TRUE);

WebBrowser里显示的ALERT("..")警告框  ,是我在点击一个网站提交的按钮后,从主服务器返回的网页源代码里带的,代码最后又一段弹出ALERT对话框
下面是我查看返回的网页源代码里弹出对话框的部分
<script>alert('请在进行正确的操作!');</script></form>
</body>
</html>
帮看下有什么不对劲的地方

#3


好像记错了,SetSilent是禁止js的错误提示。
不过可以在页面显示前,先去掉alert的代码。

#4


引用 3 楼 luciferstar 的回复:
好像记错了,SetSilent是禁止js的错误提示。
不过可以在页面显示前,先去掉alert的代码。

谢谢LuciferStar你的帮忙

你能给我点提示吗?
需要截取什么消息,怎么在页面显示之前截取代码,我对WEBBROWSER的使用知道的很少

#5


该回复于2010-11-01 13:23:50被版主删除

#6


UP...

#7


该回复于2010-11-02 10:31:31被版主删除

#8


exeScript("window.alert=function(){ /*Your function here.Keep it empty if nothing to do*/ }")

#9


引用 8 楼 calvin_guo 的回复:
C/C++ code
exeScript("window.alert=function(){ /*Your function here.Keep it empty if nothing to do*/ }")

学习。

#10


引用 9 楼 dong918 的回复:
引用 8 楼 calvin_guo 的回复:
C/C++ code
exeScript("window.alert=function(){ /*Your function here.Keep it empty if nothing to do*/ }")

学习。

这个方法只是在网页已打开,当点击一个提交按钮后,出来的ALERT,可以禁止,但是当以个网页刚打开就会出来个ALERT,这个方法就不管用了。。

#11


自己解决了
开启一线程 while(1){。。。。sleep(1000)}无限循环
用FindWindow找到Microsoft Internet Explorer子窗口
然后 用:GetParent找到这个窗口的父窗口
再用GetWindowText找到父窗口的字符串
判断是否是自己主程序的窗口
如果是
SendMessage(WM_CLOSE)
这种解决办法感觉怪怪的,就像是自己写了一游戏,然后有些功能在主代码中不能实现,然后又自己写了一外挂来解决。不知道这做法是聪明还是笨~

#12


怎样阻止WEBBROWSER弹出的警告窗口 如alert
上次为了屏蔽External,我还先将目标网页下载下来,然后过滤,再显示。
引用 11 楼 zpc38368330 的回复:
自己解决了
开启一线程 while(1){。。。。sleep(1000)}无限循环
用FindWindow找到Microsoft Internet Explorer子窗口
然后 用:GetParent找到这个窗口的父窗口
再用GetWindowText找到父窗口的字符串
判断是否是自己主程序的窗口
如果是
SendMessage(WM_CLOSE)
这种解决办法感觉怪怪的,就像是自……

#1


externel的方法可以重载。alert的好像SetSilent应该可以的啊。

#2


这是m_WebBrow在class .H文件的定义
CWebBrowser2 m_WebBrow;

这是在一个按钮的相应函数里的调用setsilent  
m_WebBrow.SetSilent(TRUE);

WebBrowser里显示的ALERT("..")警告框  ,是我在点击一个网站提交的按钮后,从主服务器返回的网页源代码里带的,代码最后又一段弹出ALERT对话框
下面是我查看返回的网页源代码里弹出对话框的部分
<script>alert('请在进行正确的操作!');</script></form>
</body>
</html>
帮看下有什么不对劲的地方

#3


好像记错了,SetSilent是禁止js的错误提示。
不过可以在页面显示前,先去掉alert的代码。

#4


引用 3 楼 luciferstar 的回复:
好像记错了,SetSilent是禁止js的错误提示。
不过可以在页面显示前,先去掉alert的代码。

谢谢LuciferStar你的帮忙

你能给我点提示吗?
需要截取什么消息,怎么在页面显示之前截取代码,我对WEBBROWSER的使用知道的很少

#5


该回复于2010-11-01 13:23:50被版主删除

#6


UP...

#7


该回复于2010-11-02 10:31:31被版主删除

#8


exeScript("window.alert=function(){ /*Your function here.Keep it empty if nothing to do*/ }")

#9


引用 8 楼 calvin_guo 的回复:
C/C++ code
exeScript("window.alert=function(){ /*Your function here.Keep it empty if nothing to do*/ }")

学习。

#10


引用 9 楼 dong918 的回复:
引用 8 楼 calvin_guo 的回复:
C/C++ code
exeScript("window.alert=function(){ /*Your function here.Keep it empty if nothing to do*/ }")

学习。

这个方法只是在网页已打开,当点击一个提交按钮后,出来的ALERT,可以禁止,但是当以个网页刚打开就会出来个ALERT,这个方法就不管用了。。

#11


自己解决了
开启一线程 while(1){。。。。sleep(1000)}无限循环
用FindWindow找到Microsoft Internet Explorer子窗口
然后 用:GetParent找到这个窗口的父窗口
再用GetWindowText找到父窗口的字符串
判断是否是自己主程序的窗口
如果是
SendMessage(WM_CLOSE)
这种解决办法感觉怪怪的,就像是自己写了一游戏,然后有些功能在主代码中不能实现,然后又自己写了一外挂来解决。不知道这做法是聪明还是笨~

#12


怎样阻止WEBBROWSER弹出的警告窗口 如alert
上次为了屏蔽External,我还先将目标网页下载下来,然后过滤,再显示。
引用 11 楼 zpc38368330 的回复:
自己解决了
开启一线程 while(1){。。。。sleep(1000)}无限循环
用FindWindow找到Microsoft Internet Explorer子窗口
然后 用:GetParent找到这个窗口的父窗口
再用GetWindowText找到父窗口的字符串
判断是否是自己主程序的窗口
如果是
SendMessage(WM_CLOSE)
这种解决办法感觉怪怪的,就像是自……