Hit-Parade .VB Research Center . Compteur
Accueil ~  Code ~  Programmes ~  Api ~  Forum ~  Cours ~  Livres ~  Quiz ~  Annuaire
~ Edito ~
12/03/2006 @ 13:39
Depuis la dernière mise à jour (qui remonte à... oulala plusieurs mois), un petit ménage de printemps s'impose. Ca tombe bien, c'est presque la période.
Au menu, et progressivement sur les jours à venir, rafraîchissement de plusieurs fonctions et procédures, nouvelles APIs et nouveaux programmes.

~ Rechercher ~

  

~ Annuaire VB ~
 Rechercher un site :
  

~ Partenaires ~

Fonction InternetOpen

Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" ( _
                 
ByVal sAgent As String, _
                 ByVal lAccessType As Long, _
                 ByVal sProxyName As String, _
                 ByVal sProxyBypass As String, _
                 ByVal lFlags As Long) As Long
Versions :
. Windows 95/98 : Oui
. Windows NT : A partir de 4.0
. Windows 2000/XP : Oui

Description :
Cette fonction retourne un pointeur vers la connexion internet courante.
sAgent est une chaîne indiquant le nom de l'application initiant le dialogue.
lAccessType indique le type d'accès désiré. Voir le tableau des constantes autorisée plus bas.
sProxyName donne le nom du proxy à utiliser. Uniquement si l'accès utilise la constante INTERNET_OPEN_TYPE_PROXY.
sProxyBypass contient une liste d'adresse à ne pas prendre en compte pour un accès par proxy. Uniquement avec INTERNET_OPEN_TYPE_PROXY.
lFlags peut contenir une combinaison de constante ci-dessous (INTERNET_FLAG_xxx).
Si la fonction échoue, elle retourne une valeur nulle, sinon elle retourne un pointeur vers la connexion courante.

ConstanteValeur Définition
INTERNET_FLAG_ASYNC&H10000000 Les requêtes sont effectuées en asynchrones.
INTERNET_FLAG_FROM_CACHE&H1000000 Les requêtes sont effectuées à partir du cache, si l'élément n'est pas dans le cache, une erreur est retournée.
INTERNET_FLAG_OFFLINE&H1000000 Identique à INTERNET_FLAG_FROM_CACHE.
INTERNET_OPEN_TYPE_DIRECT1 Résoud les noms en local.
INTERNET_OPEN_TYPE_PRECONFIG0 Récupère la configuration par défaut (base de registre).
INTERNET_OPEN_TYPE_PROXY3 Envoi des requêtes au proxy, sauf pour les exceptions indiquées dans sProxyBypass.

Exemple d'utilisation :

Public Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" ( _
                   
ByVal sAgent As String, ByVal lAccessType As Long, _
                   
ByVal sProxyName As String, ByVal sProxyBypass As String, _
                   
ByVal lFlags As Long) As Long
Public Declare Function
InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" ( _
                   
ByVal hInternetSession As Long, ByVal sUrl As String, _
                   
ByVal sHeaders As String, ByVal lHeadersLength As Long, _
                   
ByVal lFlags As Long, ByVal lContext As Long) As Long
Public Declare Function
InternetReadFile Lib "wininet.dll" ( _
                   
ByVal hFile As Long, ByVal sBuffer As String, _
                   
ByVal lNumBytesToRead As Long, _
                    lNumberOfBytesRead
As Long) As Integer
Public Declare Function
InternetCloseHandle Lib "wininet.dll" ( _
                   
ByVal hInet As Long) As Integer

Public Const
INTERNET_FLAG_NO_CACHE_WRITE = &H4000000 ' Pas d'écriture en cache

Public Function GetUrlFile(stUrl As String) As String
' Récupère le contenu d'une page/d'un fichier sur internet
Dim lgInternet As Long, lgSession As Long
Dim
stBuf As String * 1024
Dim inRes As Integer
Dim
lgRet As Long
Dim
stTotal As String
stTotal = vbNullString
' Récupère un pointeur vers la connexion internet courante
lgSession = InternetOpen("VBTagEdit", 1, vbNullString, vbNullString, 0)
If lgSession Then
   
' Récupère un pointeur vers l'URL
   
lgInternet = InternetOpenUrl(lgSession, stUrl, vbNullString, _
                                 0, INTERNET_FLAG_NO_CACHE_WRITE, 0)
   
If lgInternet Then
        Do
           
' Lecture de la page dans le buffer (par bloc de 1024)
           
inRes = InternetReadFile(lgInternet, stBuf, 1024, lgRet)
            stTotal = stTotal & Mid$(stBuf, 1, lgRet)
       
Loop While (lgRet <> 0)
   
End If
   
' Libération du pointeur
   
inRes = InternetCloseHandle(lgInternet)
End If
' Retourne le résultat
GetUrlFile = stTotal
End Function

Retour à la liste des API

Visual Basic Research Center - (c) 2000/2002 -  Webmaster : docvb (chez) free (point) fr