Bonjour,

Je souhaite lire le contenu d'une page web (http://www.google.fr) mais je rencontre un problème en utilisant la fonction InternetOpenUrl. La valeur du pointeur qui m'est retourné est nulle alors qu'elle devrait être positive. Quelqu'un peut-il m'aider ? Ci-dessous le code source :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Public Const INTERNET_FLAG_NO_CACHE_WRITE = &H4000000
 
Public 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
 
Public Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" ( _
    ByVal hInternet As Long, _
    ByVal lpszUrl As String, _
    ByVal lpszHeaders As String, _
    ByVal dwHeadersLength As Long, _
    ByVal dwFlags As Long, _
    ByVal dwContext As Long) As Long
 
Public Declare Function InternetReadFile Lib "wininet.dll" ( _
  ByVal hFile As Long, _
  ByVal lpBuffer As String, _
  ByVal dwNumberOfBytesToRead As Long, _
  ByRef lpdwNumberOfBytesRead As Long) As Integer
 
Public Declare Function InternetCloseHandle Lib "wininet.dll" ( _
    ByVal hInternet As Long) As Integer
 
Sub NavigateurInternet()
 
Dim hInternet As Long
Dim hUrl As Long
Dim texte As String * 1024
Dim Ret As Integer
Dim NbCar As Long
Dim url As String
Dim page As String
 
page = ""
url = "http://www.google.fr"
 
hInternet = InternetOpen("", 1, "", "", 0)
 
If hInternet Then
 
    hUrl = InternetOpenUrl(hInternet, url, 0, 0, INTERNET_FLAG_NO_CACHE_WRITE, 0)
 
    If hUrl Then
 
        Do
            Ret = InternetReadFile(hUrl, texte, 1024, NbCar)
            page = page & Mid(texte, 1, NbCar)
        Loop While (NbCar <> 0)
 
    End If
 
    Ret = InternetCloseHandle(hUrl)
 
End If
 
Debug.Print page
 
End Sub
Merci d'avance.