Класс 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)