VB webbrowser判断网址是否能打开

我有一vb程序使用webbrowser,为了方便用户,希望启动时就打开指定网址(首页)但该网站的在内网与外网时要打开,网址不同,在内网时打不开对外的网址,反之亦然。我觉得... 我有一vb程序使用 webbrowser,为了方便用户,希望启动时就打开指定网址(首页)
但该网站的在内网与外网时要打开,网址不同,在内网时打不开对外的网址,反之亦然。

我觉得没必要相同功能的程序做一个外网的,做一个内网。(虽然已可以手动选择)

请教如何能 判断现在是在外网而打开外网网址,或是在内网打开内网址?

或者说,如何能 启动时判断 打不开内网网址 则 打开外网网址? 反之亦然。
PING,我曾想到,但感到太麻烦,有没有简点呢,如用webbrowser,辩别是否能打开网址,不能则跳转另一个。
展开
 我来答
peter987662
2013-08-19 · TA获得超过1330个赞
知道小有建树答主
回答量:1117
采纳率:0%
帮助的人:1193万
展开全部

直接ping内网网址,ping不同访问外网网址,其实ping已经是最简单的办法,还有一种就是先访问内网,内网找不到网页,则访问外网,你觉得哪种好?

 Public Function CmdPing(ByVal strIp As String) As String
        Dim p As New Process '创建一个线程
        p.StartInfo.FileName = "cmd.exe"
        p.StartInfo.UseShellExecute = False
        p.StartInfo.RedirectStandardInput = True
        p.StartInfo.RedirectStandardOutput = True
        p.StartInfo.RedirectStandardError = True
        p.StartInfo.CreateNoWindow = True
        Dim pingrst As String
        p.Start()
        p.StandardInput.WriteLine("ping -n 1 " + strIp)
        p.StandardInput.WriteLine("exit")
        Dim strRst As String = p.StandardOutput.ReadToEnd()
        If (strRst.IndexOf("(0% loss)") <> -1) Then
            pingrst = "连接成功"
        ElseIf (strRst.IndexOf("Destination host unreachable.") <> -1) Then
            pingrst = "无法到达目的主机"
        ElseIf ((strRst.IndexOf("Request timed out.") <> -1) Or (strRst.IndexOf("(100% loss)") <> -1)) Then
            pingrst = "超时"
        ElseIf (strRst.IndexOf("Unknown host") <> -1) Then
            pingrst = "无法解析主机"
        Else
            pingrst = strRst
        End If
        p.Close()
        Return pingrst
    End Function
    Private Sub Command1_Click()
    if CmdPing("内网地址")="连接成功" 
    webbrowser1.navigate "内网"
    else
    webbrowser1.navigate "外网"
    end if
    end sub
追问
我想用最后一种。这也是我原来的思路。这个PING的代码太多了吧。我原以为很简单的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式