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

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

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.