How can I get the WebBrowser control to show modern contents?

后端 未结 4 1626
忘掉有多难
忘掉有多难 2020-11-22 01:28

I\'ve created a Winforms app that uses a WebBrowser control; I dynamically assign its Uri. It worked fine for awhile, but now I\'m getting this msg:

You seem to

4条回答
  •  误落风尘
    2020-11-22 01:41

    The below procedures will add the correct key and remove it again. Call the CreateBrowserKey upon loading the form that your web browser is in. Then when closing the form, call the RemoveBrowserKey

    Private Sub CreateBrowserKey(Optional ByVal IgnoreIDocDirective As Boolean = False)
        '      Dim basekey As String = Microsoft.Win32.Registry.CurrentUser.ToString
        Dim value As Int32
        '       Dim thisAppsName As String = My.Application.Info.AssemblyName & ".exe"
    
        ' Value reference: http://msdn.microsoft.com/en-us/library/ee330730%28v=VS.85%29.aspx
        ' IDOC Reference:  http://msdn.microsoft.com/en-us/library/ms535242%28v=vs.85%29.aspx
        Select Case (New WebBrowser).Version.Major
            Case 8
                If IgnoreIDocDirective Then
                    value = 8888
                Else
                    value = 8000
                End If
            Case 9
                If IgnoreIDocDirective Then
                    value = 9999
                Else
                    value = 9000
                End If
            Case 10
                If IgnoreIDocDirective Then
                    value = 10001
                Else
                    value = 10000
                End If
            Case 11
                If IgnoreIDocDirective Then
                    value = 11001
                Else
                    value = 11000
                End If
    
            Case Else
                Exit Sub
        End Select
        Microsoft.Win32.Registry.SetValue(Microsoft.Win32.Registry.CurrentUser.ToString & BrowserKeyPath, _
                                                  Process.GetCurrentProcess.ProcessName & ".exe", _
                                                  value, _
                                                  Microsoft.Win32.RegistryValueKind.DWord)
    End Sub
    
    Private Sub RemoveBrowserKey()
        Dim key As Microsoft.Win32.RegistryKey
        key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(BrowserKeyPath.Substring(1), True)
        key.DeleteValue(Process.GetCurrentProcess.ProcessName & ".exe", False)
    End Sub
    

提交回复
热议问题