Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как определить состояние подключения локальной системы и как инициировать или завершить подключение к Интернету с помощью Visual Basic .NET или Visual Basic 2005.
Исходная версия продукта: Visual Studio
Исходный номер базы знаний: 821770
Итоги
В этой пошаговой статье описывается, как определить подключенное состояние локальной системы с помощью InternetGetConnectedState функции, предоставляемой API Microsoft Windows Internet (WinINet). В этой статье также описывается, как инициировать подключение к Интернету и как завершить подключение к Интернету с помощью InternetDial WinINet функции API и с помощью InternetHangUp WinINet функции API.
WinINet API — это набор функций, позволяющих приложениям взаимодействовать с Gopher, с протоколом FTP и протоколом HTTP для доступа ко многим ресурсам в Интернете. Функция InternetGetConnectedState возвращает значение True или False в зависимости от того, существует ли соединение. После вызова InternetGetConnectedState функции параметр lpdwFlags содержит предопределенное значение, которое предоставляет дополнительные сведения о подключении. Например, значение , содержащее ipdwFlags , может указывать на то, что подключение является подключением локальной сети (LAN), модемным подключением или другим типом подключения. Вы можете определить, существует ли соединение из возвращаемого InternetGetConnectedState значения функции.
Когда вызов функции возвращает значение True, существует сетевое InternetGetconnectionState подключение. Однако это не гарантирует, что у вас есть доступ к данным или доступ к веб-сайтам в сети.
Функция InternetDial инициирует подключение к Интернету с помощью модема. Параметр lpszConnectoid указывает имя соединения с телефонным подключением, которое InternetDial использует функция. Функцию API можно использовать InternetHangUp WinINet для указания модема завершить подключение, указанное параметром dwConnection .
Пошаговый пример
Запустите Microsoft Visual Studio .NET или Microsoft Visual Studio 2005.
В меню Файл выберите пункт Создать и затем пункт Проект.
В разделе "Типы проектов" щелкните "Проекты Visual Basic".
Примечание.
В Visual Studio 2005 щелкните Visual Basic в разделе "Типы проектов".
В разделе "Шаблоны" щелкните " Приложение Windows".
По умолчанию создается Форма1.
Щелкните правой кнопкой мыши Form1 и выберите команду "Просмотреть код".
Добавьте следующие операторы объявления в класс Form1 :
Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef lpdwFlags As Int32, _ ByVal dwReserved As Int32) As Boolean Private Declare Function InternetDial Lib "Wininet.dll" (ByVal hwndParent As IntPtr, _ ByVal lpszConnectoid As String, ByVal dwFlags As Int32, ByRef lpdwConnection As Int32, _ ByVal dwReserved As Int32) As Int32 Private Declare Function InternetHangUp Lib "Wininet.dll" _ (ByVal lpdwConnection As Int32, ByVal dwReserved As Int32) As Int32 Private Enum Flags As Integer 'Local system uses a LAN to connect to the Internet. INTERNET_CONNECTION_LAN = &H2 'Local system uses a modem to connect to the Internet. INTERNET_CONNECTION_MODEM = &H1 'Local system uses a proxy server to connect to the Internet. INTERNET_CONNECTION_PROXY = &H4 'Local system has RAS installed. INTERNET_RAS_INSTALLED = &H10 End Enum 'Declaration Used For InternetDialUp. Private Enum DialUpOptions As Integer INTERNET_DIAL_UNATTENDED = &H8000 INTERNET_DIAL_SHOW_OFFLINE = &H4000 INTERNET_DIAL_FORCE_PROMPT = &H2000 End Enum Private Const ERROR_SUCCESS = &H0 Private Const ERROR_INVALID_PARAMETER = &H87 Private mlConnection As Int32В меню "Вид" нажмите кнопку "Конструктор".
Добавьте элемент управления Button в Form1.
Щелкните правой кнопкой мыши Button1 и выберите пункт "Свойства".
В окно свойств измените свойство Text элемента управления Button1 для обнаружения подключения.
Дважды щелкните " Обнаружение подключения", а затем добавьте следующий код в обработчик событий Button1_Click :
Dim lngFlags As Long If InternetGetConnectedState(lngFlags, 0) Then 'connected. If lngFlags And Flags.INTERNET_CONNECTION_LAN Then 'LAN connection. MsgBox("LAN connection.") ElseIf lngFlags And Flags.INTERNET_CONNECTION_MODEM Then 'Modem connection. MsgBox("Modem connection.") ElseIf lngFlags And Flags.INTERNET_CONNECTION_PROXY Then 'Proxy connection. MsgBox("Proxy connection.") End If Else 'not connected. MsgBox("Not connected.") End IfДобавьте другой элемент управления Button в Form1.
Щелкните правой кнопкой мыши Button2 и выберите пункт "Свойства".
В окно свойств измените свойство Text элемента управления Button2 на Dial Up.
Дважды щелкните "Телефонный номер", а затем добавьте следующий код в обработчик событий Button2_Click :
Dim DResult As Int32 DResult = InternetDial(Me.Handle, "My Connection", DialUpOptions.INTERNET_DIAL_FORCE_PROMPT, mlConnection, 0) If (DResult = ERROR_SUCCESS) Then MessageBox.Show("Dial Up Successful", "Dial-Up Connection") Else MessageBox.Show("UnSuccessFull Error Code" & DResult, "Dial-Up Connection") End IfПримечание.
Замените мое подключение именем подключения к телефону на компьютере.
Добавьте другой элемент управления Button в Form1.
Щелкните правой кнопкой мыши Button3 и выберите пункт "Свойства".
В окно свойств измените свойство Text элемента управления Button3 на "Зависание".
Дважды щелкните "Зависнуть", а затем добавьте следующий код в обработчик событий Button3_Click :
Dim Result As Int32 If Not (mlConnection = 0) Then Result = InternetHangUp(mlConnection, 0&) If Result = 0 Then MessageBox.Show("Hang up successful", "Hang Up Connection") Else MessageBox.Show("Hang up NOT successful", "Hang Up Connection") End If Else MessageBox.Show("You must dial a connection first!", "Hang Up Connection") End IfСохраните проект, открыв меню Файл и выбрав пункт Сохранить все.
В меню отладки нажмите кнопку "Пуск", чтобы запустить приложение.
Убедитесь, что tt работает
Запустите приложение, созданное в разделе "Пошаговые примеры " этой статьи.
Отображается форма 1.
Нажмите кнопку "Определить подключение", а затем обратите внимание на текущее состояние подключения локального компьютера.
Нажмите кнопку " Телефонный номер".
Откроется диалоговое окно подключения к телефону.
Нажмите кнопку "Зависнуть".
Подключение к Интернету, установленное на шаге 3.
Ссылки
Дополнительные сведения см. на следующих веб-сайтах: