我希望我的用户能够点击一个按钮,在默认浏览器中打开我的公司网页。该如何实现?
我正在使用VB.net,因此所有的.NET示例均可接受。
这应该可以工作:
Dim webAddress As String = "http://www.example.com/"
Process.Start(webAddress)
正如其他人所指出的一样,Process.Start()
是正确的方法。但是,这里有一些小问题。阅读这篇博客文章值得你的时间:
http://faithlife.codes/blog/2008/01/using_processstart_to_link_to/
总之,一些浏览器因无故原因导致它抛出异常,该函数可能会在非UI线程中阻塞一段时间,因此您需要确保它发生在同时进行的其他操作的结尾附近,并且您可能希望在等待浏览器打开时更改光标外观。
这里有一个可能会吸引一些需要指定浏览器的人的小子程序。 (但它不如12英寸比萨饼子程序好!):P
Private Sub NavigateWebURL(ByVal URL As String, Optional browser As String = "default")
If Not (browser = "default") Then
Try
'// try set browser if there was an error (browser not installed)
Process.Start(browser, URL)
Catch ex As Exception
'// use default browser
Process.Start(URL)
End Try
Else
'// use default browser
Process.Start(URL)
End If
End Sub
调用:如果在该计算机上安装了Firefox,则会在Firefox中打开www.google.com。
NavigateWebURL("http://www.google.com", "Firefox") '// safari Firefox chrome etc
调用:将在默认浏览器中打开www.google.com。
NavigateWebURL("http://www.google.com", "default")
或者
NavigateWebURL("http://www.google.com")
这对我来说非常完美。由于这是个人使用,我使用Firefox作为我的浏览器。
Dim url As String
url = "http://www.google.com"
Process.Start("Firefox", url)
Dim URL As String
Dim browser As String = TextBox1.Text
URL = TextBox1.Text
Try
If Not (browser = TextBox1.Text) Then
Try
Process.Start(browser, URL)
Catch ex As Exception
Process.Start(URL)
End Try
Else
Process.Start(URL)
End If
Catch ex As Exception
MsgBox("There's something wrong!")
End Try
Public Sub URLOpen(Url As String)
Dim OpenURL As New ProcessStartInfo With {
.UseShellExecute = True,
.FileName = "explorer.exe",
.Arguments = Url
}
Process.Start(OpenURL)
End Sub