Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Интернет подключен или нет? Добавлено: 14.10.09 22:36  

Автор вопроса:  Саня | ICQ: 553816426 
Вот нашел пример, но говорит, что инета нет (VB 6.0)

Private Declare Function RasEnumConnections Lib "RasApi32.dll" Alias "RasEnumConnectionsA" (lpRasCon As Any, lpcb As Long, lpcConnections As Long) As Long
Private Declare Function RasGetConnectStatus Lib "RasApi32.dll" Alias "RasGetConnectStatusA" (ByVal hRasCon As Long, lpStatus As Any) As Long
Private Const RAS95_MaxEntryName = 256
Private Const RAS95_MaxDeviceType = 16
Private Const RAS95_MaxDeviceName = 32
Private Type RASCONN95
dwSize As Long
hRasCon As Long
szEntryName(RAS95_MaxEntryName) As Byte
szDeviceType(RAS95_MaxDeviceType) As Byte
szDeviceName(RAS95_MaxDeviceName) As Byte
End Type
Private Type RASCONNSTATUS95
dwSize As Long
RasConnState As Long
dwError As Long
szDeviceType(RAS95_MaxDeviceType) As Byte
szDeviceName(RAS95_MaxDeviceName) As Byte
End Type

Public Function IsConnected() As Boolean
Dim TRasCon(255) As RASCONN95
Dim lg As Long
Dim lpcon As Long
Dim RetVal As Long
Dim Tstatus As RASCONNSTATUS95
TRasCon(0).dwSize = 412
lg = 256 * TRasCon(0).dwSize
RetVal = RasEnumConnections(TRasCon(0), lg, lpcon)
Tstatus.dwSize = 160
RetVal = RasGetConnectStatus(TRasCon(0).hRasCon, Tstatus)
If Tstatus.RasConnState = &H2000 Then
IsConnected = True
Else
IsConnected = False
End If
End Function

Private Sub Form_Load()
'если есть соединение, то IsConnected() = True, иначе False
MsgBox IsConnected()
End Sub

Интернет ADSL модем в режиме роутера.

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 Саня



ICQ: 553816426 

Вопросов: 10
Ответов: 99
 Профиль | | #1 Добавлено: 14.10.09 22:42
Или может есть способ по проще?

Ответить

Номер ответа: 2
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #2
Добавлено: 15.10.09 03:21
IsInternetConnected под вистой. В противном случае надо просто пытаться совершить нужное действие над интернетом и обрабатывать ошибки.

Ответить

Номер ответа: 3
Автор ответа:
 Саня



ICQ: 553816426 

Вопросов: 10
Ответов: 99
 Профиль | | #3 Добавлено: 15.10.09 16:26
У меня XP SP3. А по поводу "совершить нужное действие над интернетом и обрабатывать ошибки" как-то не подумал СПАСИБО!

Ответить

Номер ответа: 4
Автор ответа:
 Саня



ICQ: 553816426 

Вопросов: 10
Ответов: 99
 Профиль | | #4 Добавлено: 15.10.09 17:42
Вот, сделал, может кому-нибуть пригодится.

  1. Private Sub Command1_Click()
  2. 'Добавляем на форму элемент управления Microsoft Internet transfer control 6.0 и кнопку
  3. Dim Stranica As Variant
  4. Inet1.Protocol = icHTTP
  5. Inet1.URL = "http://www.microsoft.com"
  6.  
  7. On Error GoTo handle
  8. Stranica = Null
  9. Stranica = Inet1.OpenURL(Inet1.URL, icString)
  10. If Stranica = Null Then
  11. MsgBox "Интернета нима!"
  12. Else
  13. MsgBox "Интернет есть!"
  14. End If
  15. Exit Sub
  16. handle: MsgBox "Error " & Err.Description
  17. End Sub

Ответить

Номер ответа: 5
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #5
Добавлено: 15.10.09 23:14
может можно через WinHTTP, чтобы элемент управления не добавлять

Ответить

Номер ответа: 6
Автор ответа:
 Саня



ICQ: 553816426 

Вопросов: 10
Ответов: 99
 Профиль | | #6 Добавлено: 16.10.09 13:48
Было бы не плохо но, я никогда не работал с этим объектом. Может кто подскажет, как с его помощью загрузить страничку.
Это все на что я способен :-)

  1. Dim myWinHTTP As Variant
  2. Set myWinHTTP = CreateObject("winhttp.winhttprequest.5.1")

Ответить

Номер ответа: 7
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #7
Добавлено: 17.10.09 12:15
Саня, не уверен, но думаю так ты не сможешь события прикрутить
Я добавлял его в референсесах
Потом объявил
  1. Private WithEvents httpSb As WinHttpRequest 'For scrobbling
  2. Private Sub Class_Initialize()
  3.     Set httpSb = New WinHttpRequest
  4. End Sub

  1. Public Sub sendHandShake()
  2.     http.Open "GET", serv.hsURL & "/?" & createHSQuery(id.user, id.md5pass), True
  3. '    http.SetRequestHeader "content-type", "application/x-www-form-urlencoded"
  4.     http.Send
  5. End Sub

А ответ приходит в _OnResponseFinished или _OnError

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам