紧急求解,如何判断本机处于上网状态!!!(几个函数用过均无法判断),救救我:((200分)

  • 主题发起人 主题发起人 Joy_Wang
  • 开始时间 开始时间
J

Joy_Wang

Unregistered / Unconfirmed
GUEST, unregistred user!
本人想下载文件前先判断本机是否已经连上INTERNET,
不料使用几个函数,如INTERNETCHECKCONNECTION,INTERNETGETCONNECTEDSTATE等
都无法判断本机是否已连上,我的机器ADSL方式上网的,是否与这个有关系呢
如是,又该如何判断呢???用PING的办法是否可以解决呢,又如何实现呢?
另外如使用代理服务器的话,我又如何判断我的机器是否已可以上线呀!
不好意思,问题多了些是么,主要是我已用过几个函数了,所以写详细些
用检查注册表的方法也不用试了,因为我是要检查机器是不是上线,而不是能不能
上线.各位高手同志们,看在同道份上,拉兄弟一把吧![:(]
 
恩,我也想知道:)
 
大佬,我好惨呀,你还涮我,呜~~~~~~~~~~
 
分数不够,我还可以加分,倾家荡产也可以呀
不过分数也不多,因为我才来不久呀
 
是想听解答,还是想听我再详细点问呀[:(]
 
不好意思,我也有意做类似的软件,但水平有限,所以想借机学习学习
 
各位大侠,谁能出手相救呀!
 
如何检测计算机是否已经拨号上网?

在注册表的HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/RemoteAcces分支下,
当未连通因特网时,Remote Connection的键值为00 00 00 00,当连通时,其键值为01 00 00 00,
通过这一键值就可以作出判断。
 
你的机器上装的是NC还是IE。
 
WinInet.dll is a part of MS Internet Explorer so if you haven't the installed
browser from Microsoft, the code will no workable (you'll receive the
exception message).

function GetOnlineStatus : Boolean;
var ConTypes : Integer;
begin
ConTypes := INTERNET_CONNECTION_MODEM + INTERNET_CONNECTION_LAN + INTERNET_CONNECTION_PROXY;
if (InternetGetConnectedState(@ConTypes, 0) = False)
then Result := False
else Result := True;
end;
 
多谢各位大侠,我用的是IE5.5
 
检测注册表,那只能在本机拨号上网的情况下才能用(并且是98的机子)。如果是局域网,
根本不起作用。这问题以前曾讨论多次,但没有很好的解决办法。我也想知道
 
告诉你个路子~!
呼叫左轻侯~!
他的软件已经实现,并且检测好象比较准确~!
 
To j_shen2000:
你的方法我以前用过,但是不成功,分析原因,因为我的拨号连接
设置为空,因为是ADSL方式!同时又在局域网内,而且又有代理服务器.
如使用代理服务器上,如代理服务器没上线,用该方法无法判断是否能
连接上网,无论如何都提示online
 
若你是拔号上网,就可正常判断,但若你在局域网内,的确每次检查都是OnLine,这个目前也不
知道用哪种方法最好判断.不过,提一个歪点子,你也可去连接一个绝对有效的地址,如微软的
网址,若能连接就表示互联网是通的,若不能则表示不通.就用函数来判断的方法以前讨论过,
但都没结果.
 
各位,不知道,用PING是否可以实现呢?但好象如果用代理服务器的话,是PING不到的,但
又可以浏览网页,可以下载,实际上已经ONLINE了,好痛苦啊
 
To zhangkan:
我使用过这种方法过了,用的就是INTERNETCHECKCONNECTION(PCHAR('WWW.263.NET'),0,0)
但返回值无论如何都是FALSE,好伤心,可能是因为我的拨号设置为空,因为ADSL是不用在那里
设置的呀
To amsea:
老兄,怎么呼叫呀,我第二次来大福翁,很多不知道,不好意思
 
to 卷起千堆雪tyn:
无法判断,可能对普通拨号上网可以行得通,刚才我断线试了试,都是提示
可以上网哦!anyway,谢了
 
to 卷起千堆雪tyn:
我早已用过,但结果和我先前说的一样,无法判断,只有在普通拨号设置的机器上有用.
 
后退
顶部