点样用VB判断某个网址是不连通

作者&投稿:超振 (若有异议请与网页底部的电邮联系)
VB 什么控件可以连接一个网址的?~

http://hi.baidu.com/f_fx/blog/item/c60513f733a0922b730eec46.html
参考这里吧,方法很简单
你可以使用API函数FindWindow找到指定标题的IE的窗口,然后再使用它的函数返回IE对象,再对IE对象里的document遍历,找到指定控件,就可以操作了

和打开文件的方法一样
路径写http://zhidao.baidu.com

'模块声明

Private Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hInet As Long, ByVal lpszUrl As String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long
Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal lpszAgent As String, ByVal dwAccessType As Long, ByVal lpszProxyName As String, ByVal lpszProxyBypass As String, ByVal dwFlags As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Long

Private Declare Function InternetSetDialState Lib "wininet.dll" _
(ByVal lpszConnectoid As String, ByVal dwState As Long, _
ByVal dwReserved As Long) As Long

Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" _
(ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, _
ByVal sProxyBypass As String, ByVal lFlags As Long) As Long

Private Declare Function InternetGetConnectedStateEx Lib "wininet.dll" _
Alias "InternetGetConnectedStateExA" _
(ByRef lpdwFlags As Long, _
ByVal lpszConnectionName As String, _
ByVal dwNameLen As Long, _
ByVal dwReserved As Long _
) As Long

Public Enum EIGCInternetConnectionState
INTERNET_CONNECTION_MODEM = &H1&
INTERNET_CONNECTION_LAN = &H2&
INTERNET_CONNECTION_PROXY = &H4&
INTERNET_RAS_INSTALLED = &H10&
INTERNET_CONNECTION_OFFLINE = &H20&
INTERNET_CONNECTION_CONFIGURED = &H40&
End Enum

'InternetConnected 函数判断是否连接到Internet的函数
'获得是否以及通过何中方式连接到Internet上
Public Function InternetConnected(Optional ByRef eConnectionInfo _
As EIGCInternetConnectionState, Optional ByRef _
sConnectionName As String) As Boolean

Dim dwFlags As Long
Dim sNameBuf As String
Dim lR As Long
Dim iPos As Long

sNameBuf = String$(513, 0)
lR = InternetGetConnectedStateEx(dwFlags, sNameBuf, 512, 0&)
eConnectionInfo = dwFlags
iPos = InStr(sNameBuf, vbNullChar)
If iPos > 0 Then
sConnectionName = Left$(sNameBuf, iPos - 1)
ElseIf Not sNameBuf = String$(513, 0) Then
sConnectionName = sNameBuf
End If
InternetConnected = (lR = 1)

End Function

'******************************************
'函数名:CheckConnection
'功能:检测网络是否连接
' 通过ping 网络地址检测是否联网
'输入:URL(String) 要求输入完整的URL地址(http://..)
' 可选参数
' 默认值:"http://www.sina.com.cn"
'返回:ConnectStatus
' 已连接返回:True
' 未连接返回:False
'******************************************
Public Function CheckConnection(Optional URL As Variant) As Boolean
Dim hInet As Long
Dim hUrl As Long
Dim Flags As Long
Dim pingURL
If IsMissing(URL) Then
pingURL = "http://www.sina.com.cn"
Else
pingURL = URL
End If
Dim INTERNET_OPEN_TYPE_PRECONFIG, INTERNET_FLAG_KEEP_CONNECTION, INTERNET_FLAG_NO_CACHE_WRITE
Dim INTERNET_FLAG_RELOAD
hInet = InternetOpen(App.Title, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0&)
If hInet Then
Flags = INTERNET_FLAG_KEEP_CONNECTION Or INTERNET_FLAG_NO_CACHE_WRITE Or INTERNET_FLAG_RELOAD
hUrl = InternetOpenUrl(hInet, pingURL, vbNullString, 0, Flags, 0)
If hUrl Then
CheckConnection = True
Else
CheckConnection = False
End If
End If
Call InternetCloseHandle(hInet)
End Function

'调用
Private Sub Command1_Click()
Dim bStatus As Boolean
bStatus = CheckConnection()
If bStatus Then
MsgBox "Connected"
Else
MsgBox "Not connected"
End If
End Sub

用Winsock控件连接目标的80端口,通则TURE,不通则FALSE.

ping指令


VB中WinSock如何检测网络是否连接?
VB中WinSock“当第一次连接后,即使拔掉网线,WinSock的状态还是表示已连接上。”这是winsock的缺陷, 你只能在应用层收,发数据,就是用winsock.senddata发数来发现接已经断了,或长时间无winsock.dataarrival事件就切断连接重新连接,或过一定的时间关掉连接(close),然后马上再连接, 刷新连接或“短连接...

如何用vb做一个IP扫描工具
一. 内网的Ip可以根据winsock的LocalIP属性查看 例如dim a as string a = winsock1.localIp 二. 外网的IP可以根据网页查询..利用一个Innet空件打开 www.ip138.com 然后截取一下就可以了 例如:Private Sub Command1_Click() a = Inet1.OpenURL(" www.ip38.com ") '打开这个网页,获取源码 ...

求大神指点vb.net 怎么判断 网络是否连接 和取本机局域网IP和互联网I...
你这段代码可以获得该主机名下的所有ip,每个ip地址都是有类型簇的,可以区别本地地址和网络地址、ip6地址。你获取索引为0的ip,不一定是正确的网络地址,它有时顺序在中间,在后面。应该获取所有ip,再通过ip地址簇类型区分 判断连接本身有一个函数,不过有时没联网也是真。可以用ping,ping百度、...

在VB下编程如何判断电脑已经连上因特网?
可以用以下代码 可以判断你是否已经联网 Private Declare Function InternetGetConnectedStateEx Lib "wininet.dll" _Alias "InternetGetConnectedStateExA" _(ByRef lpdwFlags As Long, _ByVal lpszConnectionName As String, _ByVal dwNameLen As Long, _ByVal dwReserved As Long _) As Long Privat...

怎样用VB Ping一个网址?
用VB的shell功能,调用DOS的ping命令,并找出其中返回的时间相关的几个字符,解释成浮点数就可。

VB如何调用ping命令来判断是否联网!?
首先添加一模块,代码如下 Option Explicit Private Const IP_SUCCESS As Long = 0 Private Const IP_STATUS_BASE As Long = 11000 Private Const IP_BUF_TOO_SMALL As Long = (11000 + 1)Private Const IP_DEST_NET_UNREACHABLE As Long = (11000 + 2)Private Const IP_DEST_HOST_UNREACHABLE ...

vb 判断网址格式
这个问题楼上已经说了,不容易实现。但是,对于程序来说,我一向认为只有想不到,没有做不到,只是实现方法的效率问题。一般我们的网址判断只能做到,判断一个网址的格式是否正确。要达到楼主所要的效果,则需要增加一个数据库,你的数据库中事先存在着若干网址。如果判断该网址格式有问题,则一一与数据...

vb.net中如何判断网络连接?
新建模块 Function IsHearOK(ByVal URL As String) As Boolean '判断网页是否存在函数 Dim XMLObject As Object, ReturnType As String XMLObject = CreateObject("Microsoft.XMLHTTP")XMLObject.Open("GET", URL, False)XMLObject.setRequestHeader("CONTENT-TYPE", "application\/x-www-form-url...

VB如何判断局域网内,指定的机器是否开机。
一:路由器上的接口有对应的指示灯,对应的灯亮就表示对应的机器开机。二:用鼠标对着你要复制的文件右击出现菜单。选择:复制”,然后打开你指定的文件夹,在文件夹右击出现菜单,选择粘贴,就这样。

VB知道局域网计算机名,ping是否在线。
知道对方ip查看对方的计算机名 方法: 开始->运行->cmd->nbtstat -a 对方ip 开始->运行->cmd->net view 对方ip 知道对方计算机名查看对方ip 方法:开始->运行->cmd->ping 对方计算机名 或者 开始->运行->cmd->nbtstat -a 对方计算机名 ...

八宿县15344853769: VB实现检查网络是否连接 -
村弘胃好: 你用个webbrower控件,然后打开一个网址,看webbrower返回的值是什么,如果是404之类的,和默认的标题不同,就是网络不通了,如果连接成功,肯定会返回网站的内容和标题的对吧,这个是最笨,但最直接的方法了.

八宿县15344853769: VB判断网络连接 -
村弘胃好: Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef dwFlags As Long, ByVal dwReserved As Long) As Long Private Sub Form_Load() If InternetGetConnectedState(0&, 0&) Then MsgBox "网络已连接" Else MsgBox "当前没有联网" End If End Sub

八宿县15344853769: 请教高手怎么用VB2010写一个测试网络连接程序? -
村弘胃好: If My.Computer.Network.Ping("192.168.0.1") = True Then MsgBox("网络连通") Else MsgBox("网络不通") End If 你把 IP 地址改成你需要的即可

八宿县15344853769: 如何用VB代码判断计算机是否连接到Internet -
村弘胃好: VB 检测是否连接到Internet以及通过何种方式(Modem,LAN,Proxy)连接'模块代码:Public Declare Function InternetGetConnectedStateEx Lib "wininet.dll" _ Alias "InternetGetConnectedStateExA" _ (ByRef lpdwFlags As Long, _ ByVal ...

八宿县15344853769: vb问题:如何判断网页是否被正常打开 -
村弘胃好: 用inet同样再获取的话可以通过header判断,不过麻烦很多,可以直接考虑判断 WebBrowser1.Document.documentElement.innerHTML的文本是不是你要的 Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant...

八宿县15344853769: VB代码怎么快速判断局域网共享文件可否连接并打开 -
村弘胃好: 最简单的方法是用 on error resume next 忽略错误,简单快捷.先判断反而效率不高,因为检测共享是否存在是需要等待目标电脑反馈的,这个需要时间.实在想判断,可以用cmd命令中的net view,或者只检测是否开机用ping

八宿县15344853769: VB如何判断局域网是否连通
村弘胃好: 加一个winsock控件 用 Winsock1.connect [远程主机IP,远程端口] 语句探测 SQL的端口默认是1433

八宿县15344853769: 用 VB 检测 是否连接网络, -
村弘胃好: '*************************windows xp+sp3,vb6.0 编译通过 Option Explicit '拨号/断网 Private Declare Function InternetDial Lib "wininet.dll" (ByVal hwndParent As Long, ByVal lpszConnectoid As String, ByVal dwFlags As Long, lpdwConnection As ...

八宿县15344853769: VB 如何判断一个网页或网站 能否打开? -
村弘胃好: VB内部的快捷键就自己设置一下,比如在command 的caption里面写"按钮B" 如果要用系统的的快捷键的话你就要用到api了,上网搜一下很多的 弹出窗口可以用inputbox也可以自己做一个窗口,inputbox不支持输中文 输入命令后运行你的命令就要看你想执行什么了,你可以让你的命令生成bat批处理,然后再用shell app.path "\my.bat"的方式调用运行

八宿县15344853769: VB检测网络是否掉线
村弘胃好: '你需要添加一个Webbrowser空间,时间空间timer1 及label1,当然可以更改为 text1 Private Sub Form_Load() Label1.Caption = "连接状态: 正在初始化连接 " & Now() WebBrowser1.Navigate ("http://www.baidu.com/") Timer1.Interval ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网