有什么好的方法?网上的方法,我试了好多!大多都不行!
这种方法不太好,因为每次要监测人家网站,某一天这个网站坏了,或者关门了!那就永远检测不通了!
function IsInternet: Boolean;
begin
  if InternetCheckConnection('http://www.163.com/', 1, 0) then
    Result := True
  else
    Result := False;
end;

解决方案 »

  1.   

    检测 www.microsoft.com 应该不会倒闭。呵呵。
      

  2.   

    {=================================================================
     功  能:  检测计算机是否上网
     参  数:  无
     返回值:  成功:  True  失败: False;
     备  注:  uses Wininet
     版  本:  1.0  2003/08/11
    =================================================================}
    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;
      

  3.   

    楼上说得对再要 uses WinInet
    常量定义就不需要了,在 WinInet 中有
      

  4.   

    楼上的不行呀,我用ADSL上网,把ADSL猫的电源关掉,返回值还是为真!
      

  5.   

    用最简单的办法吧,用
    winexec('PING www.csdn.net>aaa.txt',sw_hide);
    然后再查一下aaa.txt中的内容是没有
    Request timed out.
    或是UNKNOW HOST的字样
    如果有的话,上不去网就是了
    如果没有的话,就是能上网了
      

  6.   

    我认为楼猪你的方法最安全,什么类型(用猫、ADSL等)上网都可以检测
    //如怕出现状况,可以多几个就是了
    if (InternetCheckConnection('http://www.yahoo.com/', 1, 0)or //就这一句,可以适量
                                                                 ///少一些
       (InternetCheckConnection('http://www.sohu.com/', 1, 0))or
       InternetCheckConnection('http://www.microsoft.com/', 1, 0)or
       InternetCheckConnection('http://www.163.com/', 1, 0))or
       InternetCheckConnection('http://www.csdn.com/', 1, 0)or
       InternetCheckConnection('http://www.163.net/', 1, 0)or
       InternetCheckConnection('http://www.playicq.com/', 1, 0) then
      begin
        Showmessage('已上网!!'); 
      end else
      begin
        Showmessage('我靠,连网都无法上!!!')
      end;