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

 Delphi Discussion :

Trouver le chemin du navigateur par défaut


Sujet :

Delphi

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut Trouver le chemin du navigateur par défaut
    bonjour

    depuis toujours, pour ouvrir un lien dans le navigateur par défaut, j'utilise le code suivant :

    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
     
    function GetDefaultBrowser: string;
    var
        PathTmp: PChar;
        Browser: PChar;
    begin
        PathTmp:= StrAlloc(255);
        Browser:= StrAlloc(255);
        try
        GetTempPath(255, PathTmp);
        FileCreate(PathTmp + 'temp.html');
        FindExecutable('temp.html', PathTmp, Browser);
        Result := Browser;
        DeleteFile(PathTmp + 'temp.html');
        finally
        StrDispose(PathTmp);
        StrDispose(Browser);
        end;
    end;
     
    ShellExecute(0, nil, pchar(GetDefaultBrowser), pchar('http://www.google.fr'), '', SW_SHOWNORMAL);
    il fonctionnait super bien avec windows Xp et windows 7

    mais voilà depuis les nouveaux windows (8 et supérieur) mes utilisateurs m'ont notifié que les liens ne s'ouvraient plus

    là je suis sur un pc, lorsque j'ai exécute la fonction "GetDefaultBrowser" il trouve notepad.exe du coup normal que les liens ne s'ouvrent plus

    sur d'autre pc, c'est l'explorer qui s'ouvre

    donc voilà je vous demande si vous avez une idée pour avoir une fonction qui passe sur les nouvelles versions de windows également ?

    merci

  2. #2
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,
    Citation Envoyé par Coussati Voir le message
    il fonctionnait super bien avec windows Xp et windows 7

    mais voilà depuis les nouveaux windows (8 et supérieur) mes utilisateurs m'ont notifié que les liens ne s'ouvraient plus
    Windows 8 32 et/ou 64 bits ?
    Que fait la fonction FindExecutable('temp.html', PathTmp, Browser);
    Philippe.

  3. #3
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut
    Citation Envoyé par Ph. B. Voir le message
    Bonjour,
    Windows 8 32 et/ou 64 bits ?
    Que fait la fonction FindExecutable('temp.html', PathTmp, Browser);
    et bien ne connaissant pas la version exacte de chaque utilisateur, il faudrait quelque chose qui fonctionnera avec tous les derniers windows (et les anciens à partir de xp)

    pour répondre à ta question FindExecutable est cencé nous donner le programme par défaut du fichier en question non ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    Avec un ShellExecute :

    https://support.microsoft.com/en-us/kb/224816


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute(0, 'open', PChar('www.developpez.net'), nil, nil, SW_SHOWNORMAL) ;
    Mais à tester sous xp,win7,...win10.

    j'espère que ça t’aiderait.

  5. #5
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Citation Envoyé par Coussati Voir le message
    pour répondre à ta question FindExecutable est cencé nous donner le programme par défaut du fichier en question non ?
    Je pose cette question parce que c'est là qu'est le problème !
    Le reste du code présenté est d'une totale inutilité...

    Sinon le code proposé par Nabil permet d'accéder à une page html d'un site ou d'ouvrir un fichier html local avec le navigateur par défaut...
    Philippe.

  6. #6
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut
    Citation Envoyé par Ph. B. Voir le message
    Je pose cette question parce que c'est là qu'est le problème !
    Le reste du code présenté est d'une totale inutilité...

    Sinon le code proposé par Nabil permet d'accéder à une page html d'un site ou d'ouvrir un fichier html local avec le navigateur par défaut...
    effectivement si on regarde bien l'intégralité du code, on peut se dire qu'on peut raccourcir ... car l'idée est de créer un fichier .html puis d'utiliser FindExecutable et ensuite effacer le fichier html

    le code de nabile fonctionne bien sur mon pc actuel, c'est drôle, c'est au plus simple ... c'est ce que j'utilisais il y a quelques années, au début, mais je ne me rappelle plus pourquoi il avait ses limites (genre ne fonctionnait pas à certain moment) et j'ai du chercher le chemin du navigateur par défaut ...

Discussions similaires

  1. Changer le navigateur par défaut pour msn
    Par stanley dans le forum Messagerie instantanée
    Réponses: 8
    Dernier message: 21/11/2007, 15h52
  2. Navigateur par défaut
    Par troumad dans le forum Debian
    Réponses: 9
    Dernier message: 18/04/2007, 07h20
  3. désigner le navigateur par défaut
    Par OutOfRange dans le forum Delphi
    Réponses: 1
    Dernier message: 16/10/2006, 10h03
  4. [environnement] Navigateur par défaut
    Par if_zen dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 15/05/2006, 23h21
  5. Client mail / navigateur par défaut
    Par Mimi Bulles dans le forum Web & réseau
    Réponses: 1
    Dernier message: 16/08/2005, 22h40

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