Witam wszystkich, czy ktoś może mi poradzić jak pod Win98 wykryć rozłączenie sieci. Mam aplikację -klienta, który połaczony jest z serwerem. Problem polega na tym że klient nie wykrywa braku sieci spowodowanego np: wypięciem kabla, i w dalszym ciągu myśli że ma połączenie z serwerem.
Na owym forum znalazłem takie coś:
function GetConnected:BOOLEAN;
var
Flags :DWORD;
IP,Host :string;
begin
Flags:= INTERNET_CONNECTION_MODEM or
INTERNET_CONNECTION_LAN or
INTERNET_CONNECTION_PROXY or
INTERNET_CONNECTION_MODEM_BUSY;
{tu dopisane - do procedury pobierającej adres IP oraz pełną nazwę hosta}
GetIP_Host(IP,Host);
{rezultat zależny od aktywnego połączenia i odmiennego IP niż
127.0.0.1 , oraz pełnej nazwy hosta }
Result:= ( InternetGetConnectedState(@Flags, 0) ) and
( not (IP = '127.0.0.1') ) and
( not (Pos('.',Host)=0) );
end;
Powyższy kod działa super pod WinXP. Czy ktoś ma pomysł na to jak wykryć takie rozłaczenie pod Win98.