vb.net 更改浏览器默认设置
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/24350930/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Changing webbrowser default
提问by Tonakis2108
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?
我面临着另一个问题,该问题与 Web 浏览器默认使用的 IE 有关。有些计算机无法正常运行网站并遇到错误,因此我想将浏览器更改为适用于所有人的内容。我尝试过 shell 等,但我希望网站在 webbrowser 上打开。此外,网络浏览器没有任何按钮文本框,默认情况下我想要该页面。任何人都可以帮忙吗?
采纳答案by Visual Vincent
You can have a look at my question on MSDN Forum on how to change which version of IE the WebBrowser control uses:
您可以在 MSDN 论坛上查看我关于如何更改 WebBrowser 控件使用的 IE 版本的问题:
回答by Uriahs Victor
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.
创建一个名为 Form1 的表单或相应地命名,删除其代码并粘贴下面的所有内容,现在您将使用当前安装的 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

