检测网络联接状态
时 间:2009-03-19 22:15:43
作 者:外网转载 ID:2469 城市:东莞
摘 要:在应用系统中一直想有一个方法能够检测当前电脑联接状态,今天在外网朋友那边搜到了这个API函数,试了一下不错!
供大家参考。
正 文:
'检测本机是否联入互联网,以及以什么形式联入
Option Explicit
'检测本机是否联入互联网,以及以什么形式联入
Dim Ts_ShenJun 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
Private 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
Private 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
On Error Resume Next
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
Public Function IsInNet() As Boolean
'检测是否已经以及使用什么方法连接到Internet
Dim bConnected As Boolean
Dim eR As Long
Dim sName As String
Dim sMsg As String
bConnected = InternetConnected(eR, sName)
'根据获得的结果输出
If (eR And INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM Then
sMsg = sMsg & "使用 Modem 连接到 Internet!" & Chr(10) & Chr(13) & Chr(13)
End If
If (eR And INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN Then
sMsg = sMsg & "使用内部网连接到 Internet!" & Chr(10) & Chr(13) & Chr(13)
End If
If (eR And INTERNET_CONNECTION_PROXY) = INTERNET_CONNECTION_PROXY Then
sMsg = sMsg & "通过代理服务器连接到 Internet!" & Chr(10) & Chr(13) & Chr(13)
End If
If (eR And INTERNET_CONNECTION_OFFLINE) = INTERNET_CONNECTION_OFFLINE Then
sMsg = sMsg & "现在连接处于离线状态!" & Chr(10) & Chr(13) & Chr(13)
End If
If (eR And INTERNET_CONNECTION_CONFIGURED) = INTERNET_CONNECTION_CONFIGURED Then
sMsg = sMsg & "连接已经被设定!" & Chr(10) & Chr(13) & Chr(13)
Else
sMsg = sMsg & "没有设定好的连接!" & Chr(10) & Chr(13) & Chr(13)
End If
If (eR And INTERNET_RAS_INSTALLED) = INTERNET_RAS_INSTALLED Then
sMsg = sMsg & "本机已经安装了远程访问服务功能!"
End If
Ts_ShenJun = MsgBox(sMsg, 48, "联接状态")
IsInNet = bConnected
End Function
Sub Main()
If IsInNet Then
MsgBox "connected!"
Else
MsgBox "no connected!"
End If
End Sub
'模块中调用 IsInNet 过程即可
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
- 【Access源码示例】按输入...(09.02)
- 【Access日期区间段查询】...(08.29)
- 【Access日期区间段查询】...(08.27)
- Access怎样才能实现日期时...(08.21)
学习心得
最新文章
- 获取文件修改日期的函数(10.18)
- Access快速开发平台--lis...(10.17)
- Access快速开发平台--普通用...(10.14)
- 【Access源码示例】VBA代码...(10.12)
- Access累乘示例,Access...(10.09)
- 数值8.88,把整数8去掉,转化成...(10.08)
- 用ACCESS开发的销售数据分析软...(10.06)
- 【中秋及国庆优惠】Access培训...(10.05)
- 2024欢度国庆--庆祝国庆华诞7...(10.01)
- 【Access自定义函数】一个繁简...(09.30)