Ouvrir une url dans une ou plusieurs fenêtres, quel que soit le navigateur par défaut

Soyez le premier à donner votre avis sur cette source.

Vue 9 156 fois - Téléchargée 701 fois

Description

Ouvrir une fenêtre, voire plusieurs dans le navigateur, c'est facile. Mais tout le monde n'a pas Internet Explorer...
Mieux vaut donc en tenir compte, et déterminer auparavant le navigateur par défaut de l'utilisateur du programme.
NOTE : le résultat de GetDefaultBrowser est le chemin DOS (chemin court).
Cela ne semble pas poser de problème, du moins sous Win 98...
Sinon, jetez donc un coup d'oeil à cette adresse :
http://community.borland.com/article/0,1410,26083,00.html
J'y ai trouvé la fonction GetDefaultBrowser, que j'ai simplifiée pour
l'adapter à l'usage que j'en fais ici.

Source / Exemple :


Récupérer le navigateur par défaut :

uses ShellApi;

function GetDefaultBrowser: String;
var
  PathTmp: PChar;
  Browser: PChar;
begin
  PathTmp:= StrAlloc(255);
  Browser:= StrAlloc(255);
  try
    GetTempPath(255, PathTmp);
    FileCreate(PathTmp + 'temp.htm');
    FindExecutable('temp.htm', PathTmp, Browser);
    Result := Browser;
    DeleteFile(PathTmp + 'temp.htm');
  finally
    StrDispose(PathTmp);
    StrDispose(Browser);
  end;
end;

Ouvrir l'URL dans le navigateur

- dans la même fenêtre :
ShellExecute(0, nil, pchar(Url), nil, nil, SW_SHOWNORMAL);

- dans une fenêtre différente :
ShellExecute(0, nil, pchar(GetDefaultBrowser), pchar(Url), '', SW_SHOWNORMAL)

Voir l'exemple avec code source commenté dans le zip !

Conclusion :


Fonctionne parfaitement sous Win 98.
A tester avec les autres versions...
Vos commentaires sont les bienvenus !

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
En tout cas avec FF3, ça ouvre toujours dans le même onglet.
Et même WinExec n'y fait rien (FF renvoie les paramètres à l'instance existante).
Ca ne marche que quand aucune fenêtre n'est ouverte ^^

Cordialement, Bacterius !
Messages postés
117
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
19 juin 2009
1
ca date de longtemps et ca sert encore
c'est ce que j'appelle une source benefique !
her encore jappee j'etait plantee devant le pc qui mouvrait les url dans la meme fenetre ! desarroi total!
autre alternative : getdefaultbrowser + winexec qui elle ouvre toujours sur une nouvelle fentre !
Messages postés
1722
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
22 octobre 2020
5
Ok, _Moise_, merci du commentaire, alors ça passe partout.
Tant mieux.
D'autant que l'on trouve bien sur le web des sources qui sont sensées traiter le problème, mais qui ne le font pas réellement...
Ce code est le seul à ma connaissance à fonctionner correctement, en lançant réellement le navigateur par défaut, et pas un autre.
Messages postés
12
Date d'inscription
dimanche 30 novembre 2003
Statut
Membre
Dernière intervention
27 juillet 2006

Et bien j'ai testé sous Xp et windows Nt tout marche parfaitement
Messages postés
35
Date d'inscription
mardi 29 avril 2003
Statut
Membre
Dernière intervention
21 septembre 2005

merci pour le shellexecute qui passe sous xp
je testerais la version kylix un de ces 4
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.