Класс CWinInetConnection
Данный класс представляет собой набор 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)