Проверить соединение с интернет
Проверить соединение с интернет
Проверить соединение с интернет Самый лучший способ - попытаться открыть заведомо работающий УРЛ: uses wininet; function CheckUrl(url: string): boolean; var hSession, hfile, hRequest: hInternet; dwindex, dwcodelen: dword; dwcode: array [1..20] of char; res: pchar; begin if pos('http://', lowercase(url)) = 0 then url := 'http://'+url; Result := false; hSession := InternetOpen('InetURL:/1.0', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); if assigned(hsession) then begin hfile := InternetOpenUrl(hsession, pchar(url), nil, 0, INTERNET_FLAG_RELOAD, 0); dwIndex := 0; dwCodeLen := 10; HttpQueryInfo(hfile, HTTP_QUERY_STATUS_CODE, @dwcode, dwcodeLen, dwIndex); res := pchar(@dwcode); result := (res = '200') or (res = '302'); if assigned(hfile) then InternetCloseHandle(hfile); InternetCloseHandle(hsession); end; end; ******************************************************** Мой способ Пингуем Рамблер: IdIcmpClient1: TIdIcmpClient; .... procedure TForm1.Button1Click(Sender: TObject); var rc : DWORD; begin try IdIcmpClient1.Ping; except rc := GetLastError; Caption:=SysErrorMessage(rc); end; end; procedure TForm1.IdIcmpClient1Reply(ASender: TComponent; const AReplyStatus: TReplyStatus); begin caption:=AReplyStatus.FromIpAddress+' '+inttostr(AReplyStatus.MsRoundTripTime); end;