procedure TForm1.Button1Click(Sender: TObject);
begin
  if GetSystemMetrics(SM_NETWORK) AND $01 = $01 then
    ShowMessage('Machine is attached to network') else
    ShowMessage('Machine is not attached to network');
end;

解决方案 »

  1.   

    or uses wininet.pasfunction IsConnectedToInternet: bool;
    begin
      dwConnectionTypes := INTERNET_CONNECTION_MODEM
                           + INTERNET_CONNECTION_LAN
                           + INTERNET_CONNECTION_PROXY;
      if InternetGetConnectedState(@dwConnectionTypes, 0) then
        Result := True
      else Result := False;
    end;
      

  2.   

    以下程序是判断是否已经有拨号连接
    不知道DELPHI有没有这个函数的函定,如果没有自己改进一下就可以用了该数据类型在Ras.h
    你必须包含进来
    在C中是这样的,调用一个RasEnumConnections API函数
    BOOL IsRASConnected()
    {
    RASCONN rasConn;
    DWORD dNumber,dSize;
    rasConn.dwSize = sizeof(RASCONN);
    dSize = sizeof(rasConn);
    if(RasEnumConnections(&rasConn,&dSize,&dNumber)!=0)
    return FALSE;
    if(dNumber==0)
    return FALSE;
    return TRUE;
    }
      

  3.   

    谢谢,我想判断是否连接到网络的具体目的是如果没有连接那么就在程序里拨号连接登陆到远程服务器,我用RASAPI32.DLL动态链接库中的API函数去实现,但是由于对API函数应用的不熟悉,下面这段程序调不出来。
    Trasdial=function(iprasdialexe:pchar;
                      ipszphonebook:pchar;
                      var params:Trasdialparams;
                      dwnotifiertype:longword;
                      ipnotifier:pointer;
                      var rasconn:Thrasconn):longint;
    stdcall;