if ping ya.ru <> 0 then showmessage('Connected'); Как то так. Или же первая ссыль в гугле говорит нам, что: function IsConnectedToInternet(lpdwFlags: LPDWORD): Boolean; const WininetDLL = 'wininet.dll'; var hWininetDLL: THandle; dwReserved: DWORD; fn_InternetGetConnectedState: function(lpdwFlags: LPDWORD; dwReserved: DWORD): BOOL; stdcall; begin Result := False; dwReserved := 0; hWininetDLL := LoadLibrary(WininetDLL); if hWininetDLL > 0 then begin @fn_InternetGetConnectedState := GetProcAddress(hWininetDLL,'Interne tGetConnectedState'); if Assigned(fn_InternetGetConnectedSta te) then begin Result := fn_InternetGetConnectedState(lpdwFl ags, dwReserved); end; FreeLibrary(hWininetDLL); end else raise Exception.Create('Unable to locate function InternetGetConnectedState in library ' + WininetDLL); end; procedure TForm1.Button1Click(Sender: TObject); const INTERNET_CONNECTION_MODEM = 1; INTERNET_CONNECTION_LAN = 2; INTERNET_CONNECTION_PROXY = 4; INTERNET_CONNECTION_MODEM_BUSY = 8; var dwConnectionTypes: DWORD; begin dwConnectionTypes := INTERNET_CONNECTION_MODEM + INTERNET_CONNECTION_LAN + INTERNET_CONNECTION_PROXY; if IsConnectedToInternet(@dwConnection Types) then ShowMessage('Connected.') else ShowMessage('Not Connected.') end;