![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать есть ли сейчас соединение с интернетом?
Игорь Н. © (2004-05-24 19:59:00)Понимаю, что вопрос затертый, однако конкретного ответа на него найти не смог. Подскажите, пожалуйста, как проверить соеденен ли компьютер сейчас с интернетом?
Игорь Н. (2004-05-26 18:37:00) [1]
> Rouse_
Это я уже читал. Там правда написана, только вот перед тем, как проверить соединение во всех способах, описаных в разделе "А теперь правда", программа просит соединится. А это как-то неразумно - соединятся, чтобы проверить есть ли соединение :) А мне надо, чтобы пользователь не знал, что программа проверяет соединение.
Rouse_ (2004-05-25 00:27:00) [2]> Узнать IP, и если это не 127.0.0.1 значит не соеденен
А что, тоже юмор :)
Видимо Loopback интерфейс от сетевой карты отличить уже можем :)
Rouse_ (2004-05-25 00:22:00) [3]Хм... вечные споры о вечном :)
А если умные мысли почитать?
http://www.delphimaster.ru/articles/connect-inet.html
> Эта функция возвращает TRUE если соединение с интернетов
> отсутствует, или FALSE если соединение установлено.
Важное дополнение забыл - если соединение с интернетом отсутствует или не было еще установлено...
Sur (2004-05-24 21:33:00) [4]соеденен
Sur (2004-05-24 21:30:00) [5]
> как проверить соеденен ли компьютер сейчас с интернетом?
Узнать IP, и если это не 127.0.0.1 значит не соеденен
Игорь Н. (2004-05-24 20:58:00) [6]Вообще-то этот способ весьма сомнителен. Если в InternetExplorer поставить галочку "Работать автономно", то всегда будет вылетать сообщение "This computer is not connected to Internet!" и наоборот - если убрать галочку то "You are connected to Internet!" А ведь при загрузке компьютера, гаолчка не устанавливается т.е. такой способ покажет, что соединение установлено :( и в моей программе возникнет ошибка.
MasterA (2004-05-24 20:38:00) [7]Для работы Вам необходимо импортировать функцию InetIsOffline из URL.DLL:
function InetIsOffline(Flag: Integer): Boolean; stdcall; external 'URL.DLL';
а затем поместить в программу простой вызов функции для проверки статуса соединения:
if InetIsOffline(0) then
ShowMessage('This computer is not connected to Internet!')
else
ShowMessage(You are connected to Internet!');
Эта функция возвращает TRUE если соединение с интернетов отсутствует, или FALSE если соединение установлено.
Замечание:
параметр Flag игнорируется, соответственно используем ноль.
Эта DLL обычно проинсталлирована на большинстве компьютеров. Она также существует в Win98 либо поставляется с Internet Explorer 4 или выше, Office 97 и т.д..
Более подробно можно прочитать в MSDN. Оригинал: http://msdn.microsoft.com/library/psdk/shellcc/shell/Functions/InetIsOffline.htm