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 :

[VB6] Détecter le navigateur par default


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 7
    Points : 8
    Points
    8
    Par défaut [VB6] Détecter le navigateur par default
    Je souhaite savoir de quelle manière il est possible de connaître a coup sûr!!!
    Le navigateur par default utiliser dans windows (toutes versions)?
    Et pourvoir récuréper le nom de l'éxecutable du navigateur?
    Ex: pour Internet Explorer => iexplorer.exe
    J'espère être clair dans ma demande!

    Je bloque totalement sur ce problème.
    Il doit exister un API, pour ce que je souhaite effectuer, mais je n'arrive pas a le trouver!

    Merci pour vos réponses.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 21
    Points : 11
    Points
    11
    Par défaut Navigateur par défaut
    Le petit prg suivant te permettra de loguer ton utilisateur sur l'URL de ton choix et quelque soit son navigateur. Si là n'est pas le but de ta question, tu laisses tomber. Il y a probablement plus simple, mais avec ces 2 API, c'est sûr, ça marche.

    ***********************
    1 - Tu colles ce qui suit dans un module :

    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 FindExecutable Lib "shell32.dll" Alias "FindExecutableA" (ByVal lpFile _
    As String, ByVal lpDirectory As String, ByVal lpResult As String) As Long

    Public Enum T_WindowStyle
    Maximized = 3
    Normal = 1
    ShowOnly = 5
    End Enum

    ***********************************
    2 - Dans une feuille tu mets un bouton et tu colles tout ce qui suit dedans :

    Option Explicit

    Private Sub Command1_Click()
    GoToInternet Me, "http://www.google.com ", Normal
    End Sub


    Private Sub GoToInternet(Parent As Form, URL As String, WindowStyle As T_WindowStyle)
    Dim lngReturn As Long

    If fsGetBrowserInfo Then
    lngReturn = ShellExecute(Parent.hwnd, "Open", URL, "", "", WindowStyle)
    If lngReturn <= 32 Then ' Erreur
    MsgBox "Page Web non accessible", vbExclamation + vbOKOnly, "Sheet !"
    End If
    Else
    ' On saute de joie
    MsgBox "Yooopiiiie ! ", vbExclamation + vbOKOnly, "Moi content"
    End If
    End Sub

    Private Function fsGetBrowserInfo() As Boolean
    Dim strFileName As String, strDummy As String
    Dim strBrowserExec As String * 255
    Dim lngRetVal As Long
    Dim intFileNumber As Integer
    Dim Chemin As String

    Chemin = App.Path & "\"
    ' On crée un fichier HTML bidon
    strBrowserExec = Space(255)
    strFileName = Chemin & "bidon.htm"
    intFileNumber = FreeFile
    Open strFileName For Output As #intFileNumber
    Write #intFileNumber, "<HTML> <\HTML>"
    Close #intFileNumber
    ' On recherche si une appli est associée à ce type de fichiers
    lngRetVal = FindExecutable(strFileName, strDummy, strBrowserExec)
    strBrowserExec = Trim(strBrowserExec)
    ' Si on trouve l'appli on saute de joie
    If lngRetVal <= 32 Or strBrowserExec = "" Then ' Error
    fsGetBrowserInfo = False
    Else
    fsGetBrowserInfo = True
    End If
    Kill strFileName
    End Function

    Si tu cliques sur le bouton, sauf grosse erreur de ma part, tu devrais te loguer sur Google, quelque soit ton navigateur.

  3. #3
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut
    il suffit simplement de lire dans la base de régistre

    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
     
    Const HKEY_CLASSES_ROOT = &H80000000
    Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
    Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
    Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
     
    Private Sub Commande27_Click()
        Dim Ret         As Long
        Dim lResult     As Long
        Dim RetourType  As Long
        Dim buffer      As String
        Dim BufferSize  As Long
        RegOpenKey HKEY_CLASSES_ROOT, "http\Shell\Open\Command", Ret 'Ouverture
        lResult = RegQueryValueEx(Ret, "", 0, RetourType, ByVal 0, BufferSize)
        If lResult = 0 Then
            buffer = String(BufferSize, Chr$(0))
            lResult = RegQueryValueEx(Ret, "", 0, 0, ByVal buffer, BufferSize)
        End If
        MsgBox buffer
        RegCloseKey Ret 'Fermeture
    End Sub
    dans mon cas on peu voir que j'utilise firefox
    C:\PROGRA~1\MOZILL~1\FIREFOX.EXE -url "%1"
    donc, a toi de te créé un parser pour lire ton buffer


    Demande beaucoup moins de ressource que la méthode de notre collègue Rohan Michel
    Remoting Context Matters
    Everything in this chapter is 100 percent undocumented. Reliance on these techniques is not supported by either Microsoft, the publisher, or the author of this book. Use at you own risk! If your computer won't work afterwards, your toaster blows up or your car doesn't start, I assume no liability whatsoever: You're now about to enter the uncharted territories of .NET and you do so on your own risk. I can only provide some guidance

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

Discussions similaires

  1. [builder2] où peut on changer le navigateur par default ?
    Par lolodev dans le forum EDI/Outils
    Réponses: 1
    Dernier message: 13/12/2007, 08h57
  2. Client mail / navigateur par défaut
    Par Mimi Bulles dans le forum Web & réseau
    Réponses: 1
    Dernier message: 16/08/2005, 22h40
  3. Valeur par default dans un input file ?
    Par alainme dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 11/02/2005, 14h31
  4. [VB6] Comment envoyer un mail HTML par Winsocks ?
    Par hedgehog dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/05/2004, 10h04
  5. [VB6] [Graphisme] Transfert d'image pixel par pixel
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 15/10/2002, 09h53

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