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

Description of your first forum.

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

帖子kk2000 » 星期六, 2006年12月30日 11:52


比如网线没有接上网卡!或者线头松了他那个连接图标就出现一个"X"呵呵!
这样的功能应该可以实现的.
 
 
 

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

帖子angellover » 星期六, 2006年12月30日 12:44


来自:卷起千堆雪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');
 
 
 

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

帖子kk2000 » 星期六, 2006年12月30日 14:32


楼上的经测试是不行的
 
 
 

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

帖子oushengfen » 星期六, 2006年12月30日 14:43


我试了可以验证网络是否通啊
 
 
 

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

帖子kk2000 » 星期六, 2006年12月30日 14:48


你试这把网线拔下来!然后再运行看看 !
 
 
 

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

帖子porsche » 星期六, 2006年12月30日 20:48


//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 次了
 
 
 

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

帖子ufo! » 星期六, 2006年12月30日 21:11


楼主是要检测网卡的物理连接是否正常,这个功能只有nt,xp提供,win98不支持的。