当访问局域网内其他机器的共享文件时。怎样判断网络是否连通。如果不同,弹出提示。有什么API函数能判断吗。

解决方案 »

  1.   

    //use WinSock; function GetHostFromIP(ip: string): string; 
    var 
     sData: TWSAData; 
     h: PHostEnt; 
     p: TInAddr; 
    begin 
     Result := ''; 
    //CheckIP;//检查IP是否合法,你自己写 
    //  if (not CheckIP) or (WSAStartup($101, sData)) = SOCKET_ERROR then Exit; 
     if WSAStartup($101, sData) = SOCKET_ERROR then Exit; 
     p.S_addr := inet_addr(PChar(ip));  h := gethostbyaddr(@p.S_addr, 4, AF_INET); 
     if h <> nil then Result := h^.h_name; 
     WSACleanup; 
    end; if GetHostFromIP('192.168.0.1') = '' then //没有这个IP地址 
      

  2.   

    给你一个简单的代码:
    uses
      WinInet;procedure TForm1.Button5Click(Sender: TObject);
    begin
      if (GetSystemMetrics(SM_NETWORK) AND $01 = $01) then
        showmessage('已连接到网络上!')
      else
        showmessage('未连接到网络上!');
    end;
      

  3.   

    GetSystemMetrics  函数 好强大...得到了 系统的很多信息
      

  4.   

    try
      访问局域网文件
    except
      showmessage('网络不通');
    end;