Форум — Ответы     (  К темам )
 ?  Иван: И все-таки,кто-нибудь может привести пример как отследить подключение (01-03-2003 14:16:54)
И все-таки,кто-нибудь может привести пример кода(который работает):как
отследить подключение компа к интернету(и отключение)Ф-ия InetIsOffline имеет
недостаток:
возвращает false когда не было попыток подключения.
Помогите,пожалуйста,очень надо!!!
 Al (01-03-2003 17:02:36)
Так заведите переменную, чтобы определить были или нет попытки подключения
к интернету.
bool isInet;
-----


Как проверить соединение с интернетом.
Автор: Vitaly Zayko

Часто приложению, которое работает в интернете, требуется знать, подключён пользователь к интернету или нет. Предлагаю Вам довольно гибкое решение этого вопроса.

Совместимость: Delphi 3.x (или выше)

Для работы Вам необходимо импортировать функцию 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
 Andrew (10-03-2003 11:29:04)
См. в докyментации фyнкцию InternetGetConnectedState.

InternetGetConnectedState
BOOL InternetGetConnectedState(
OUT LPDWORD lpdwFlags,
IN DWORD dwReserved
);

Retrieves the connected state of the local system.
Returns TRUE if there is an Internet connection, FALSE otherwise.

lpdwFlags:
Address of a double-word variable where the connection description should be
returned. Can be a combination of the following values:
INTERNET_CONNECTION_MODEM Local system uses a modem to connect to the
Internet.
INTERNET_CONNECTION_LAN Local system uses a local area network to connect
to the Internet.
INTERNET_CONNECTION_PROXY Local system uses a proxy server to connect to
the Internet.
INTERNET_CONNECTION_MODEM_BUSY Local system's modem is busy with a
non-Internet connection.

dwReserved
Reserved. Must be set to zero.

P.S. Источником этого сообщения являются матеpиалы FAQ по письмам эхоконфеpенции сети FidoNet "RU.CBUILDER".