visual basic 6 et internet : demande d'informations. - Programmation
Marsh Posté le 06-07-2001 à 13:42:25
Personne pour m'aider. Je pense que c'est possible mais je sais pas du tout comment faire. Un peu d'aide (pas trop) ça serait sympa.
Marsh Posté le 06-07-2001 à 16:41:35
salut ca detecte juste si tu es connecté au net  
 
 
 
 
 
 
Option Explicit 
 
' déclarations api wininet dll 
Private Declare Function InternetGetConnectedState Lib "wininet.dll" _ 
    (lpdwFlags As Long, _ 
    ByVal dwReserved As Long) As Long 
Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" _ 
    (ByVal lpszAgent As String, _ 
    ByVal dwAccessType As Long, _ 
    ByVal lpszProxyName As String, _ 
    ByVal lpszProxyBypass As String, _ 
    ByVal dwFlags As Long) As Long 
Private Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" _ 
    (ByVal hInet As Long, _ 
    ByVal lpszUrl As String, _ 
    ByVal lpszHeaders As String, _ 
    ByVal dwHeadersLength As Long, _ 
    ByVal dwFlags As Long, _ 
    ByVal dwContext As Long) As Long 
Private Declare Function InternetCloseHandle Lib "wininet.dll" _ 
    (ByVal hInet As Long) As Long 
 
' constante - indique utilisation de la config de la Base de Registre 
Private Const INTERNET_OPEN_TYPE_PRECONFIG = 0 
' constantes - flags WinInet 
Private Const INTERNET_FLAG_RELOAD = &H80000000 
Private Const INTERNET_FLAG_KEEP_CONNECTION = &H400000 
Private Const INTERNET_FLAG_NO_CACHE_WRITE = &H4000000 
 
' constantes - flags pour InternetGetConnectedState 
Private Const INTERNET_CONNECTION_MODEM = 1 
Private Const INTERNET_CONNECTION_LAN = 2 
Private Const INTERNET_CONNECTION_PROXY = 4 
Private Const INTERNET_CONNECTION_MODEM_BUSY = 8 
 
' énumération des états de connection 
Public Enum InetConnectionStates 
   InternetConnectionModem = INTERNET_CONNECTION_MODEM 
   InternetConnectionLan = INTERNET_CONNECTION_LAN 
   InternetConnectionProxy = INTERNET_CONNECTION_PROXY 
   InternetConnectionModemBusy = INTERNET_CONNECTION_MODEM_BUSY 
End Enum 
 
' variables privées 
Private m_Connection         As Boolean 
Private m_ModeConnection     As InetConnectionStates 
Private m_ModeConnectionDesc As String 
Private m_SitesConnus        As Collection 
 
' initialisation 
Private Sub Class_Initialize() 
   Set m_SitesConnus = New Collection 
   m_SitesConnus.Add "http://www.yahoo.com", "http://www.yahoo.com" 
   m_SitesConnus.Add "http://www.cnn.com", "http://www.cnn.com" 
End Sub 
' 
Private Sub Class_Terminate() 
   Set m_SitesConnus = Nothing 
End Sub 
 
' propriétées publiques 
Public Property Get TestSitesConnus() As Collection 
   Set TestSitesConnus = m_SitesConnus 
End Property 
 
Public Property Let TestSitesConnus(ByVal NewVal As Collection) 
   Set m_SitesConnus = NewVal 
End Property 
 
' propriétées publiques - en lecture seulement 
Public Property Get Connected() As Boolean 
   Connected = m_Connection 
End Property 
' 
Public Property Get ConnectMode() As InetConnectionStates 
   ConnectMode = m_ModeConnection 
End Property 
' 
Public Property Get ConnectModeDesc() As String 
   ConnectModeDesc = m_ModeConnectionDesc 
End Property 
' 
Public Sub Actualiser() 
   Dim Flags As Long 
   m_Connection = InternetGetConnectedState(Flags, 0&) 
   m_ModeConnection = Flags 
   If Flags And INTERNET_CONNECTION_MODEM Then 
      m_ModeConnectionDesc = "Modem" 
      If Flags And INTERNET_CONNECTION_MODEM_BUSY Then 
         m_ModeConnectionDesc = "Modem (Busy)" 
         m_Connection = TestUrls() 
      End If 
   ElseIf Flags And INTERNET_CONNECTION_LAN Then 
      m_ModeConnectionDesc = "LAN" 
      m_Connection = TestUrls() 
   ElseIf Flags And INTERNET_CONNECTION_PROXY Then 
      m_ModeConnectionDesc = "Proxy Server" 
      m_Connection = TestUrls() 
   End If 
End Sub 
' méthodes privées 
 
Private Function TestUrls() As Boolean 
Dim hInet As Long 
Dim hUrl  As Long 
Dim Flags As Long 
Dim url   As Variant 
   ' On va tester les URLs, si on arrive à se connecter à un des sites 
   ' le PC est bien connecté. 
   hInet = InternetOpen(App.Title, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0&) 
   If hInet Then 
      Flags = INTERNET_FLAG_KEEP_CONNECTION Or INTERNET_FLAG_NO_CACHE_WRITE Or INTERNET_FLAG_RELOAD 
      For Each url In m_SitesConnus 
         hUrl = InternetOpenUrl(hInet, CStr(url), vbNullString, 0, Flags, 0) 
         If hUrl Then 
            Call InternetCloseHandle(hUrl) 
            TestUrls = True 
            Exit For 
         End If 
      Next url 
   End If 
   Call InternetCloseHandle(hInet) 
End Function 
Marsh Posté le 06-07-2001 à 16:49:50
Ok merci beaucoup. Je vais m'y mettre maintenant.
Marsh Posté le 06-07-2001 à 19:12:22
j'ai carrément fait un ocx qui détecte ta connexion au Net (même à travers un LAN...) 
si tu le veux : ICQ : 8622323 
Marsh Posté le 05-07-2001 à 14:10:10
Est ce que c'est possible de savoir à partir d'une application VB6 si l'utilisateur est connecté à Internet et si c'est le cas lire une information précise située dans une page web. Par exemple savoir si une nouvelle version du logiciel est sorti et dans ce cas l'inviter à la télécharger.
---------------