Вопрос № 79268: Здравствуйте.
Пожалуйста, подскажите название WinAPI фукнкции, с помощью которой можно определить наличие установленного соединения (доступ в Интернет с помощью dial-up модема (COM порт)).
Благодарю за ответы....
Вопрос № 79.268
Здравствуйте.
Пожалуйста, подскажите название WinAPI фукнкции, с помощью которой можно определить наличие установленного соединения (доступ в Интернет с помощью dial-up модема (COM порт)).
Отвечает: Базанов Иван Александрович
Здравствуйте, Lucnetmanru!
Есть такая функция в Wininet: InternetGetConnectedState.
Использование:
BOOL IsConnected = InternetGetConnectedState(INTERNET_CONNECTION_MODEM,0);
Если возвращено TRUE значит соединение есть...
Причем здесь неважно, использует ли модем COM-порт, или он встроенные, или USB.
Если в системе несколько модемов, то функция возвратит TRUE при использовании любого.
--------- Программист ошибается дважды: первый раз при рождении, второй при выборе профессии
Отвечает: John Paramol
Здравствуйте, Lucnetmanru!
Можно использовать RAS (Remote Access Service).
Примеры можно посмотреть здесь:
http://www.firststeps.ru/mfc/ras/r.php?1
или http://www.codeproject.com/internet/rasconnection.asp
Конкретно необходимые вам функции – это RasEnumConnections и RasGetConnectStatus.
Заголовочные файлы для RAS: ras.h, raserror.h.
Для работы понадобится RASAPI32 DLL. Если использовать статическую загрузку, приложение может вылететь, если Remote Access Service не установлен. В этом случае можно использовать LoadLibrary для динамической загрузки и GetProcAddress для взятия адресов функций.
Удачи!
--------- 1=2, at values 1 large enough
Ответ отправил: John Paramol (статус: 7-ой класс)
Ответ отправлен: 22.03.2007, 17:02