怎样判断当前网络是否连通?
用PB做邮件收发,想在发送邮件之前先判断网络是否连通.如果不通则不进行后续操作.问怎样用简单的方法实现? 问题点数:80、回复次数:9Top
1 楼hygougou(uoguogyh)回复于 2005-04-11 23:32:31 得分 0
http://221.10.44.214:85/show.asp?id=225Top
2 楼matchchen()回复于 2005-04-11 23:44:16 得分 0
下载不了,你说说吧.Top
3 楼matchchen()回复于 2005-04-11 23:44:42 得分 0
最好有这样的函数.Top
4 楼xiao_bai(小白)回复于 2005-04-12 08:11:45 得分 0
你搜索一下FAQ或者找前面的帖子,我记得讨论过这个问题了.Top
5 楼li_d_s(鄙视那些不懂Java却跑来乱骂的人,.NET没啥了不起)回复于 2005-04-12 09:16:20 得分 20
API函数internetgetconnectedstate(0,0)Top
6 楼balloonman2002()回复于 2005-04-12 09:56:00 得分 10
http://blog.csdn.net/balloonman2002/archive/2005/01/24/266489.aspxTop
7 楼wu_07(一只狗不孤单,想一只狗才孤单)回复于 2005-04-12 14:54:52 得分 40
刚刚看过,所以给你贴过来
利用WIN95中的注册表建植,在注册表的HKEY-LOCAL-MACHINE\System\CurrentControlSet\Services\RemoteAcces\下,当计算机连上因特网时,Remote Connection的植为01 00 00 00,反之,为00 00 00 00,通过这一建植可判断是否连网。
constant long lmodem=1
constant long llan=2
constant long lproxy=4
constant long lRAS_INSTALLED=10
constant long lOFFLINE=32
constant long lCONFIGURED=64
EIGCInternetConnectionState er
string sName
boolean bConnected
long ll_net
结构 eigcinternetconnectionstate
long modem
long lan
long proxy
long ras_installed
long offline
long configured
函数 internetconnected(eigcinternetconnectionstate sConnectionName,string sconnectionname)return boolean
//long dwFlags
string sNameBuf
long lR
long iPos
//sNameBuf = fill(char(0),513)
//messagebox("",snamebuf)
lR = InternetGetConnectedStateExA(dwFlags, sNameBuf, 512, 0)
//eConnectionInfo.modem = dwFlags
//eConnectionInfo.lan = dwFlags
//eConnectionInfo.proxy = dwFlags
//eConnectionInfo.ras_installed = dwFlags
//eConnectionInfo.OFFLINE = dwFlags
//eConnectionInfo.CONFIGURED = dwFlags
ll_net=dwFlags
iPos = pos(sNameBuf, "0")
If iPos > 0 Then
sConnectionName = Left(sNameBuf, iPos - 1)
ElseIf Not sNameBuf = fill("0",513) Then
sConnectionName = sNameBuf
End If
if lR = 1 then
return true
else
return false
end if
检测按钮cb_1.clicked
bConnected = InternetConnected(ll_net, sName)
messagebox("",bconnected)
//if ll_net=lmodem then messagebox("","modem")
//if er.lan=llan then messagebox("","lan")
//if er.proxy=lproxy then messagebox("","proxy")
//if er.ras_installed=lras_installed then messagebox("","ras_installed")
//if er.offline = loffline then messagebox("","offline")
//if er.configured = lconfigured then messagebox("","configured")
屏蔽部份是正在测试的,现在还不好用,但MESSAGEBOX已经可以返回网络连接的状态,为TURE则表示已经连网
function long internetgetconnectedstateexa(long lpdwflags,string lpszconnectionname,long dwnamelen,long dwreserved) library "wininet.dll"Top
8 楼mb459()回复于 2005-04-12 18:26:51 得分 0
学习。Top
9 楼hygougou(uoguogyh)回复于 2005-04-12 19:42:24 得分 10
http://community.csdn.net/Expert/topic/3930/3930736.xml?temp=.212887Top




