最近也是在项目中遇到了webbrowser控件中想关闭JS脚本错误窗口的问题,所以经过多次测试,终于用一段高效实用的代码完美解决webbrowser控件中JS脚本错误窗口关闭的问题。
通过创建一个子线程,然后在子线程中不断的去查找各类webbrowser的弹出窗口(alert、JS错误窗口),然后通过sendmessage函数来关闭窗口实现该功能!
webbrowser 脚本错误、webbrowser控件脚本错误代码
VB.NET让webbrowser控件不显示JS脚本错误最新办法,完美解决了
以下代码可以解决webbrowser控件中的JS脚本错误窗口、alert窗口等各种浏览器弹出的窗口,能自动关闭
VB.NET代码如下:
Declare Auto Function SendMessage Lib "user32.dll" (ByVal hwnd As IntPtr,ByVal wMsg As Integer,_ ByVal wparam As Integer,ByVal lparam As IntPtr) As IntPtr Declare Auto Function findwindowex Lib "user32.dll" (ByVal parentHandle As IntPtr,ByVal childAfter As IntPtr,_ ByVal lpszClass As String,ByVal lpszWindow As String) As IntPtr Public Const WM_CLOSE = &H10 Private Sub threadCheckerror() Dim hwnd As IntPtr While 1 hwnd = findwindowex(0,"Internet Explorer_TridentDlgFrame","Internet Explorer 脚本错误") If hwnd.ToInt64 > 0 Then SendMessage(hwnd,WM_CLOSE,0) End If hwnd = findwindowex(0,"#32770","来自网页的消息") If hwnd.ToInt64 > 0 Then SendMessage(hwnd,0) End If System.Threading.Thread.Sleep(100) My.Application.DoEvents() End While End Sub Dim threadchk As New Threading.Thread(AddressOf threadCheckerror) Private Sub Form1_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.Load Webbrowser1.ScriptErroRSSuppressed = False threadchk.Start() End sub
原文地址:https://www.jb51.cc/vb/258512.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。