VB.NET让webbrowser控件中JS脚本错误最新方法2013-09-16

最近也是在项目中遇到了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

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...