怎么象windows系统那样检测到网络不通.(100分)

  • 主题发起人 主题发起人 kk2000
  • 开始时间 开始时间
K

kk2000

Unregistered / Unconfirmed
GUEST, unregistred user!
比如网线没有接上网卡!或者线头松了他那个连接图标就出现一个"X"呵呵!
这样的功能应该可以实现的.
 
来自:卷起千堆雪tyn, 时间:2002-1-3 15:38:00, ID:832337
判断机子是否连网:

if GetSystemMetrics(SM_NETWORK) AND $01 = $01 then
ShowMessage('Machine is attached to network')
else
ShowMessage('Machine is not attached to network');
 
楼上的经测试是不行的
 
我试了可以验证网络是否通啊
 
你试这把网线拔下来!然后再运行看看 !
 
//uses WinInet,Nb30,UrlMon

function GetLocalIP:string;
var
WSAData:TWSAData;
HostName:array[0..MAX_COMPUTERNAME_LENGTH] of Char;
HostEnt:PHostEnt;
LastIP:PInAddr;
IPList:^PInAddr;
begin
Result:='';
if 0=WSAStartup(MAKEWORD(1,1),WSAData) then
try
if 0=gethostname(HostName,MAX_COMPUTERNAME_LENGTH+1) then
begin
HostEnt:=gethostbyname(HostName);
if HostEnt<>nil then
begin
IPList:=Pointer(HostEnt^.h_addr_list);
repeat
LastIP:=IPList^;
INC(IPList);
until IPList^=nil;
if LastIP<>nil then
Result:=inet_ntoa(LastIP^);
end;
end;
finally
WSACleanup;
end;
end;
如果GetLocalIP='127.0.0.1'那么就是断线了或网络没有启动起来,我试过 n 次了
 
楼主是要检测网卡的物理连接是否正常,这个功能只有nt,xp提供,win98不支持的。
 
后退
顶部