I am facing another problem that has to do with the IE the web browser uses by default. Some computers aren't able to run the website properly and face errors, so I want to change the browser in something that will work on everyone. I tried shells, etc but I want the website to open on the webbrowser. Also the webbrowser doesn't have any buttons textboxes and I want that page by default. Can anyone help?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You can have a look at my question on MSDN Forum on how to change which version of IE the WebBrowser control uses:
http://social.msdn.microsoft.com/Forums/vstudio/en-US/982b343e-5829-4127-b207-da6d33671604/custom-webbrowser-control-changing-to-ie9?forum=vbgeneral#532fac5e-01f7-4447-9637-b44fd74beb4a
回答2:
create a form called Form1 or just name accordingly, delete everything with its code and paste with below, now you will be surfing using the current installed IE.
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
CreateBrowserKey()
'Below code adds a custom useragent, adding a custom useragent does not change the actual engine...thats why we need to do all this coding.
WebBrowser1.Navigate("http://www.whatsmybrowser.org", "_top", Nothing, "User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36")
'This goes to the website using default user agent.
'WebBrowser1.Navigate("http://www.whatsmybrowser.org")
End Sub
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs) Handles Me.FormClosing
RemoveBrowerKey()
End Sub
Private Const BrowserKeyPath As String = "\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
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 RemoveBrowerKey()
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
End Class