如何检测计算机是否已连上Internet(100分)

H

ham9v

Unregistered / Unconfirmed
GUEST, unregistred user!
入门级选手向各位大家大虾请教:
如何检测计算机是否已连上Internet,多谢大家了!!!
 
请搜索:已连上Internet
 
43. 检验是否存在网络连接(好象总是有连接)
USES
WinInet;
..
..

function InternetConnected: Boolean;
CONST
// local system uses a modem to connect to the Internet.
INTERNET_CONNECTION_MODEM = 1;
// local system uses a local area network to connect to the Internet.
INTERNET_CONNECTION_LAN = 2;
// local system uses a proxy server to connect to the Internet.
INTERNET_CONNECTION_PROXY = 4;
// local system's modem is busy with a non-Internet connection.
INTERNET_CONNECTION_MODEM_BUSY = 8;

VAR
dwConnectionTypes : DWORD;
BEGIN
dwConnectionTypes :=
INTERNET_CONNECTION_MODEM + INTERNET_CONNECTION_LAN +
INTERNET_CONNECTION_PROXY;
Result := InternetGetConnectedState(@dwConnectionTypes,0);
END;
 
internetattemptconnect(dwreserved:dword):dword;stdcall;
如果返回值为ERROR_SUCCESS表示已经连上
 
ping www.sina.com.cn

看响应,如果没有响应就没连上。当然前提是sina没有倒闭
 
TO ALL:
今天我无意中翻了一本资料发现有更简单的方法,不知是不是正确,请指教:
声明:
function inetisoffline(flag:boolean):boolean;stdcall;external'url.dll';
调用:
if inetisoffline(0) then
showmessage('连上')
else
showmessage('未连上');
大概是这个样子的(请大家核对一下),我是在〈程序员〉杂志2001合订本上看到的,还没试过,
如果对了大家一起分享!!!
多谢各位关注和解答!!!
 
多人接受答案了。
 
顶部