IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

page internet totalement affichée?


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    496
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 496
    Points : 123
    Points
    123
    Par défaut page internet totalement affichée?
    bonsoir
    comment savoir si une page internet est totalement affichée

  2. #2
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Bonjour,
    En vérifiant l'état de la propriété readystate ou les évènements du navigateurs dans le cas d'une utilisation asynchrone

  3. #3
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    496
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 496
    Points : 123
    Points
    123
    Par défaut
    voici mon code:

    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
    Option Explicit
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
            (ByVal hwnd As Long, _
            ByVal lpOperation As String, _
            ByVal lpFile As String, _
            ByVal lpParameters As String, _
            ByVal lpDirectory As String, _
            ByVal nShowCmd As Long) As Long
     
     
    Private Sub OuvreUrl(ByVal sFile As String, Optional ByVal sParameters As String = vbNullString)
         ShellExecute 0&, "open", sFile, sParameters, vbNullString, 1&
    End Sub
     
     
    Public Sub AfficheUrl(Mot As String)
            OuvreUrl ("http://www.mediadico.com/dictionnaire/definition/" & Mot & "/1")
            'Sleep (2000)
            OuvreUrl "http://francois.gannaz.free.fr/Littre/xmlittre.php?rand=&requete=" & Mot
            OuvreUrl "http://free.mediadico.com/dictionnaire.asp/definition/" & Mot & "/dictionnaire"
            OuvreUrl "http://www.cnrtl.fr/lexicographie/" & Mot
            OuvreUrl "http://dictionnaire.tv5.org/dictionnaires.asp?Action=1&mot=" & Mot & "&che=1"
            OuvreUrl "http://fr.wiktionary.org/wiki/" & LCase(Mot)
     
    End Sub
    mon problème est que si je n'ai pas de page internet explorer d'ouverte lorsque le prog est lancé les pages s'écrase les unes les autres et il ne me reste que la dernière page. si IE est lancé là pas de pb les pages s'affichent dans différents onglets. c'est pour celà que je voulais vérifier que la première page était affichée avant de lancer la suite. Vous pouvez remarquer que j'ai mis une pose (ici en commentaire car pas déclaré dans le bout d'essai) entre les deux premières pages pour résoudre mon pb , mais je ne trouve pas ça très catholique ou ortodoxe .


    En vérifiant l'état de la propriété readystate ou les évènements du navigateurs dans le cas d'une utilisation asynchrone
    la propriété readystate de quoi?
    et les événements du navigateur comment je peux les récupérer
    je ne sais pas si je suis assynchrone

  4. #4
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 180
    Points
    17 180
    Par défaut
    Une solution parmi d'autres.
    sur un Form, un TextBox, un CommandButton et un Label
    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
    Option Explicit
    Private Sub Form_Load()
    Text1.Move 255, 150, 1350, 315
    Text1.Text = "parabole"
    Command1.Move 240, 600, 1395, 285
    Command1.Caption = "Rechercher"
    Label1.Move 240, 945, 1410, 300
    Label1 = ""
    Me.Height = 1980: Me.Width = 2295
    End Sub
    Private Sub Command1_Click()
    Dim MoT As String
    MoT = Trim(Text1.Text)
    Label1 = ""
    SetTimer Me.hwnd, 0, 500, AddressOf TimerProc  ' on crée un timer
    DoEvents
            OuvreUrl ("http://www.mediadico.com/dictionnaire/definition/" & MoT & "/1")
            'Sleep (2000)
            Do While LabTitre <> "Ouverte"
             DoEvents
            Loop
            OuvreUrl "http://francois.gannaz.free.fr/Littre/xmlittre.php?rand=&requete=" & MoT
            OuvreUrl "http://free.mediadico.com/dictionnaire.asp/definition/" & MoT & "/dictionnaire"
            OuvreUrl "http://www.cnrtl.fr/lexicographie/" & MoT
            OuvreUrl "http://dictionnaire.tv5.org/dictionnaires.asp?Action=1&mot=" & MoT & "&che=1"
            OuvreUrl "http://fr.wiktionary.org/wiki/" & LCase(MoT)
    DoEvents
    Label1 = "Arret"
    End Sub
    Private Sub OuvreUrl(ByVal sFile As String, Optional ByVal sParameters As String = vbNullString)
         ShellExecute 0&, "open", sFile, sParameters, vbNullString, 1&
    End Sub
    Private Sub Label1_Change()
    If Label1 = "Arret" Then
     KillTimer Me.hwnd, 0 ' suppression du timer créé
    End If
    End Sub
    Dans un module .bas
    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
    Option Explicit
    Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
    Public Declare Function SetTimer Lib "User32" ( _
            ByVal hwnd As Long, ByVal nIDEvent As Long, _
            ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
    Public Declare Function KillTimer Lib "User32" ( _
            ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
    Public Declare Function EnumWindows Lib "User32" ( _
            ByVal wndenmprc As Long, ByVal lParam As Long) As Long
    Public Declare Function GetWindowText Lib "User32" Alias "GetWindowTextA" (ByVal hwnd As Long, _
            ByVal lpString As String, _
            ByVal cch As Long) As Long
    Public Sub TimerProc(ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long)
    EnumWindows AddressOf EnumCallback, 0
    End Sub
    Public Function EnumCallback(ByVal app_hWnd As Long, ByVal param As Long) As Long
    Dim buf As String * 256
    Dim Titre As String
    Dim Longueur As Long
    'Récupère le titre de la fenêtre
    Longueur = GetWindowText(app_hWnd, buf, Len(buf))
    Titre = Left$(buf, Longueur)
    If Trim(Titre) <> "" Then
     'Vérifie si le titre de la fenêtre correspond au nom recherché
     If InStr(Titre, "MEDIADICO") <> 0 Then
      Form1.Label1 = "Ouverte"
      DoEvents
     End If
    End If
    EnumCallback = 1 'Poursuit l'énumération
    End Function
    Public Sub Main()
    Form1.Show
    End Sub
    Dans Projet1 - Propriétés du projet => Objet de démarrage : Sub Main

    Chez moi cela fonctionne .
    Reste a gérer:
    - la sortie de boucle DO .... Loop au cas ou l'URL n'est pas disponible (tres tres important)
    - la fermeture des URLs lors des sequences suivantes
    Si tu adoptes cette façon de faire et si tu as des difficultés de gestion des 2 points sités, je te proposerai une solution.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    496
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 496
    Points : 123
    Points
    123
    Par défaut
    bonjour
    merci "progelect"pour cette réponse ça fonctionne très bien!!!!
    mais si tu pouvais détailler comment les différentes api utimlisées fonctionne ça serait très sympa!
    j'ai essayé de suivre pas à pas comment ça fonctionne mais je butte sur toutes les explications en anglais des Api. si j'ai bien compris il ya un timer qui lance régulièrement la recherche des fenêtres ouvertes et si on trouve la fenêtre qui a le bon titre c'est qu'elle est ouverte?
    Donc peut on considérer qu'une fois le titre changé , la page est considéré comme ouverte?

  6. #6
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    496
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 496
    Points : 123
    Points
    123
    Par défaut
    merci j'ai fini par comprendre le fonctionnement et j'ai créé un autre post pourtenter d'avoir plus de précision sur settimer
    merci encore

  7. #7
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    496
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 496
    Points : 123
    Points
    123
    Par défaut
    bonsoir
    j'ai suivi les liens donnant des explications sur settimer et proctimer :
    http://msdn.microsoft.com/en-us/library/ms644906.aspx
    http://msdn.microsoft.com/en-us/libr...07(VS.85).aspx
    et là étonnement sur la déclaration de la fonction timerproc qui n'a pas l'air de correspondre à ce que tu as fait et qui marche!!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. récupérer page internet dans variable puis afficher
    Par bigfootspi dans le forum Langage
    Réponses: 6
    Dernier message: 25/08/2008, 14h39
  2. comment afficher des pages internet
    Par marco62118 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 21/04/2008, 17h40
  3. pages ASP pas affichées dans internet explorer 7
    Par Monbasinstinct dans le forum ASP
    Réponses: 16
    Dernier message: 18/02/2007, 13h45
  4. Afficher page internet dans vb (suite)
    Par escape dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 24/12/2006, 16h06
  5. Afficher page internet dans vb
    Par escape dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 24/12/2006, 12h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo