中易网

VB/.NET 如何检测本机是否已经连接上网络?

答案:1  悬赏:30  
解决时间 2021-03-04 02:15
VB怎么知道ADSL是否已经连接上了?俺只有初学水平 请说清楚点哦~``
最佳答案
新建工程,加入一模块,代码如下:
Option Explicit
Public isolerr As Boolean
Public Declare Function RasEnumConnections Lib "RasApi32.dll" Alias "RasEnumConnectionsA" (lpRasCon As Any, lpcb As Long, lpcConnections As Long) As Long
Public Declare Function RasGetConnectStatus Lib "RasApi32.dll" Alias "RasGetConnectStatusA" (ByVal hRasCon As Long, lpStatus As Any) As Long
'
Public Const RAS95_MaxEntryName = 256
Public Const RAS95_MaxDeviceType = 16
Public Const RAS95_MaxDeviceName = 32
'
Public Type RASCONN95
dwSize As Long
hRasCon As Long
szEntryName(RAS95_MaxEntryName) As Byte
szDeviceType(RAS95_MaxDeviceType) As Byte
szDeviceName(RAS95_MaxDeviceName) As Byte
End Type
'
Public Type RASCONNSTATUS95
dwSize As Long
RasConnState As Long
dwError As Long
szDeviceType(RAS95_MaxDeviceType) As Byte
szDeviceName(RAS95_MaxDeviceName) As Byte
End Type

Public Function IsConnected() As Boolean
Dim TRasCon(255) As RASCONN95
Dim lg As Long
Dim lpcon As Long
Dim RetVal As Long
Dim Tstatus As RASCONNSTATUS95
'
TRasCon(0).dwSize = 412
lg = 256 * TRasCon(0).dwSize
'
RetVal = RasEnumConnections(TRasCon(0), lg, lpcon)
If RetVal <> 0 Then
MsgBox "出现错误!", vbCritical + vbDefaultButton1 + vbOKOnly, "错误!"
Form1.wangluozhuangkuang.Visible = False
isolerr = True
Exit Function
End If
'
isolerr = False
Tstatus.dwSize = 160
RetVal = RasGetConnectStatus(TRasCon(0).hRasCon, Tstatus)
If Tstatus.RasConnState = &H2000 Then
IsConnected = True
Else
IsConnected = False
End If

End Function

在窗体中添加一记时器(Timer),代码如下:
Private Sub Timer1_Timer()
checkonline
End Sub
然后在通用声明中添加如下代码
Sub checkonline()
If isolerr = False Then
If IsConnected = True Then
wangluozhuangkuang.Caption = "已经连接网络"
Else
wangluozhuangkuang.Caption = "尚未连接网络"
End If
End If
End Sub
最后在窗体上添加一Label,名字为wangluozhuangkuang

不懂再问我
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
梦三国哪个区人多
荷花园街道恒达社区居民委员会地址在哪,我要
有谁会制作侠盗猎车罪恶都市的mod?帮我做一
09年的股市情况怎么样?
一个女生问一个男生喜不喜欢她那个男生却什么
广西省河池市安县安阳邮编是多少
1.照样子写句子。 杨欣悦捧起即将放飞的信鸽
扎营脑地址有知道的么?有点事想过去
如果要在南极点盖一座房子,那么房子的窗户朝
陕西嘉惠嘉顺实业有限公司怎么去啊,有知道地
错过用英语怎么说
关于fluent里UDF和proflie定义旋转的问题
最适合春季种植的葫萝卜种子
长兴大药房地址在什么地方,想过去办事
圆垫圈的冲裁模具装配图怎么画
推荐资讯
手机摄像头是单LED闪光灯好还是双LED闪光灯好
例:敌人凶残得像豺狼一样 小明急得火冒三丈
网名 ジ醉世家族° 怎么叫好听 ジ醉世XX° 前
魔法逗地址有知道的么?有点事想过去
对付一群狼容易还是对付一群人容易?
爱上美睫地址好找么,我有些事要过去
蜀山缥缈录奇遇幽魂伞怎么做
葡桃的沙洲里说的那首歌“你在我心中飞翔青岛
据说港股不仅可以做多,还可以做空,谁知道怎
现有马100匹,瓦片100块儿,用马拉瓦片,大马一
切尔西欧冠怎么样
三星(上海国美青浦公园路体验店)在哪里啊,我
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?