Данный класс представляет собой набор WINAPI функций для установления и разрыва соединения с Интрнетом. Также класс позволяет определять каким образом в данный момент компьютер подключён к Интернету (напрямую, через прокси или через модем). Класс позволяет контролировать в каком состоянии в данный момент находится подключение (онлайн или оффлайн)
Скачать CWinInetConnection пример проекта (wininet_connection.zip, 11,6 Kb)
| Таблица 1. методы класса CWinInetConnection |
| Методы | Описание |
|---|---|
| SetGlobalOnline | Переключает систему в состояние Online |
| SetGlobalOffline | Переключает систему в состояние Offline |
| GoOnline | Показывает Пользователю диалог для коннекта и позволяет выбрать нужное соединение |
| AutoDial | Показывает Диалог установления связи по умолчанию |
| Dial | Показывает Диалог связи с определённым «удалённым соединением» |
| AutoDialHangUp | разрывает связь, установленную AutoDial методом |
| HangUp | разрывает связь, установленную Dial методом |
| Refresh | обновляет все свойства класса |
| Таблица 2. CWinInetConnection свойства |
| Свойства | Описание |
|---|---|
| IsConnected | Возвращает True если связь с интернетом установлена |
| ConnectionName | Возвращает строку с именем активного соединения |
| IsConnectionConfigured | Возвращает True если система произвела корректировки при коннекте в интернет |
| IsOffline | Возвращает True если система в режиме Offline |
| IsRasInstalled | Возвращает True если Remote Access Service (RAS) установлен в системе |
| UseProxy | Возвращает True если интернет настроен через прокси сервер |
| UseLAN | Возвращает True интернет настроен через локальную сеть |
| UseModem | Возвращает True система использует для интернета только модем |
Перед вызовом функции InternetGetConnectedStateEx её параметры инициализируются следующим образом:
'Резервируем буфер для имени соединения strConnectionName = Space(256) 'инициализируем переменную lNameLen - длина буфера lNameLen = 256 'получаем указатель на пароль и логин 'to the function InternetGetConnectedStateEx lPtr = StrPtr(strConnectionName) lNameLenPtr = VarPtr(lNameLen) 'вызываем функцию InternetGetConnectedStateEx. 'ВНИМАНИЕ: в функции 2 параметра ByVal lRetVal = InternetGetConnectedStateEx(lConnectionFlags, _ ByVal lPtr, ByVal lNameLen, 0&) 'Проверяем биты lConnectionFlags 'и инициализируем свойства класса CWinInetConnection mvarUseModem = lConnectionFlags And INTERNET_CONNECTION_MODEM mvarUseLAN = lConnectionFlags And INTERNET_CONNECTION_LAN mvarUseProxy = lConnectionFlags And INTERNET_CONNECTION_PROXY mvarIsRasInstalled = lConnectionFlags And INTERNET_RAS_INSTALLED mvarIsOffline = lConnectionFlags And INTERNET_CONNECTION_OFFLINE mvarIsConnectionConfigured = lConnectionFlags And _ INTERNET_CONNECTION_CONFIGURED 'получаем имя текущего соединения mvarConnectionName = StringFromPointer(lPtr)