Мне нужна работающая функция для Delphi 2010, чтобы проверить, доступно ли подключение к Интернету.
Я говорю работает, потому что до сих пор я пробовал 4 разных метода, например. http://delphi.about.com/b/2005/04/22/how-to-check-for-internet-connection-using-delphi-code.htm, но ни один из них не работал.
Например, один метод всегда выдавал, что есть подключение к интернету, даже когда кабеля не было в компьютере, другой наоборот (всегда говорил, что нет подключения).
procedure TForm1.Button1Click(Sender: TObject) ;
function FuncAvail(_dllname, _funcname: string;
var _p: pointer): boolean;
{return True if _funcname exists in _dllname}
var _lib: tHandle;
begin
Result := false;
if LoadLibrary(PChar(_dllname)) = 0 then exit;
_lib := GetModuleHandle(PChar(_dllname)) ;
if _lib <> 0 then begin
_p := GetProcAddress(_lib, PChar(_funcname)) ;
if _p <> NIL then Result := true;
end;
end;
{
Call SHELL32.DLL for Win < Win98
otherwise call URL.dll
}
{button code:}
var
InetIsOffline : function(dwFlags: DWORD):
BOOL; stdcall;
begin
if FuncAvail('URL.DLL', 'InetIsOffline',
@InetIsOffline) then
if InetIsOffLine(0) = true
then ShowMessage('Not connected')
else ShowMessage('Connected!') ;
end;