Форум: "Сети";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];
ВнизКак 100% узнать есть ли в данный момент соединение с инетом? Найти похожие ветки
← →
keymaster (2003-05-11 11:47) [0]Нужно незаметно для юзера узнавать есть ли соединение с интернетом.
Инет - модемный, часто рвётся.
Если использовать InetIsOffline(0) то при первом соединении она скажет что инет есть навсегда. т.е. даже если соединение пропало, то она говорит что оно есть.
Я пользовался такой штукой:
function TMainForm.IsOnline : Boolean;
var
WSAData : TWSAData;
p : PHostEnt;
Str : String;
begin
WSAStartup($0101, WSAData);
try
p := GetHostByName("www.microsoft.com");
Str := inet_ntoa(PInAddr(p.h_addr_list^)^);
//если соединения нет то здесь возникает Exception
Result := True;
except
Result := False;
end;
WSACleanup;
end;
И это должно проверять сеть раз в 5 минут.
Печально то, что при первом запуске программы (из автозагрузки),
возникает окно системы "вы или программа запросили информацию с узла www.microsoft.com" что уже не является "незаметным для пользователя".
Кто с этим боролся, поделитесь, плиз.
← →
Song (2003-05-11 11:56) [1]Нет 100%-го способа.
← →
Reindeer Moss Eater (2003-05-12 15:27) [2]Зачем трояну знать о соединении с со всем инетом?
Достаточно соединения с хостом, на который сливается информация.
← →
Reindeer Moss Eater (2003-05-12 15:28) [3]И если у пользователя есть сетевой экран, от подобного сообщения никуда не деться.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c