15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


                           Класс CWinInetConnection

Данный класс представляет собой набор WINAPI функций для установления и разрыва соединения с Интрнетом. Также класс позволяет определять каким образом в данный момент компьютер подключён к Интернету (напрямую, через прокси или через модем). Класс позволяет контролировать в каком состоянии в данный момент находится подключение (онлайн или оффлайн)

Скачать CWinInetConnection пример проекта (wininet_connection.zip, 11,6 Kb)

Методы Описание
 SetGlobalOnline Переключает систему в состояние Online
SetGlobalOffline Переключает систему в состояние Offline
GoOnline Показывает Пользователю диалог для коннекта и позволяет выбрать нужное соединение
AutoDial Показывает Диалог установления связи по умолчанию
Dial Показывает Диалог связи с определённым "удалённым соединением"
AutoDialHangUp разрывает связь, установленную AutoDial методом
HangUp разрывает связь, установленную Dial методом
Refresh обновляет все свойства класса
Таблица 1. методы класса CWinInetConnection


wininet_connection.gif (14112 bytes)

Свойства Описание
IsConnected Возвращает True если связь с интернетом установлена
ConnectionName Возвращает строку с именем активного соединения
IsConnectionConfigured Возвращает True если система произвела корректировки при коннекте в интернет
IsOffline Возвращает True если система в режиме Offline
IsRasInstalled Возвращает True если Remote Access Service (RAS) установлен в системе
UseProxy Возвращает True если интернет настроен через прокси сервер
UseLAN Возвращает True интернет настроен через локальную сеть
UseModem Возвращает True система использует для интернета только модем
Таблица 2. CWinInetConnection свойства

Перед вызовом функции 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)