VB. NET 웹 브 라 우 저 컨트롤 에서 JS 스 크 립 트 를 최신 방법 으로 오류 발생 (2013 - 09 - 16)

1879 단어 WebBrowser

최근 에 도 프로젝트 에서 웹 브 라 우 저 컨트롤 에서 JS 스 크 립 트 오류 창 을 닫 으 려 는 문제 가 발생 했 습 니 다. 그래서 여러 번 의 테스트 를 통 해 효율 적 이 고 실 용적 인 코드 로 웹 브 라 우 저 컨트롤 에서 JS 스 크 립 트 오류 창 이 닫 히 는 문 제 를 완벽 하 게 해결 하 였 습 니 다.
하위 스 레 드 를 만 든 다음 하위 스 레 드 에서 각종 웹 브 라 우 저의 팝 업 창 (alert, JS 오류 창) 을 계속 찾 은 다음 sendmessage 함 수 를 통 해 창 을 닫 습 니 다!
웹 브 라 우 저 스 크 립 트 오류, 웹 브 라 우 저 컨트롤 스 크 립 트 오류 코드
VB. NET 은 웹 브 라 우 저 컨트롤 에 JS 스 크 립 트 오류 가 표시 되 지 않도록 최신 방법 으로 완벽 하 게 해결 되 었 습 니 다.
다음 코드 는 웹 브 라 우 저 컨트롤 의 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, 0, "Internet Explorer_TridentDlgFrame", "Internet Explorer     ")

        If hwnd.ToInt64 > 0 Then

            SendMessage(hwnd, WM_CLOSE, 0, 0)

        End If



        hwnd = FindWindowEx(0, 0, "#32770", "       ")

        If hwnd.ToInt64 > 0 Then

            SendMessage(hwnd, WM_CLOSE, 0, 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

 
 

좋은 웹페이지 즐겨찾기