2010-06-16 7 views

Répondre

5

Vous ne pouvez pas.

Vous pouvez pouvez ouvrir une page en utilisant le navigateur par défaut sur un système avec Java 6 *, mais vous ne pouvez pas lister tous les navigateurs installés sur un système.

Bien sûr, vous pouvez parcourir le dossier Windows C:\Program Files\ ou * /usr/local (ou d'autres dirs) de nix pour vérifier les noms de navigateur, mais vous pourriez rencontrer des problèmes-privilèges utilisateur et vous n'êtes jamais sûr d'obtenir tous les navigateurs, ni est ce système d'exploitation indépendant.

+1

Si vous connaissiez le système d'exploitation, je suppose que vous pouvez vérifier l'existence des différents exe du navigateur dans tous les endroits habituels? Pas preuve de balle par n'importe quel moyen, mais pourrait suffire. –

+0

@Richard, j'étais en train d'éditer pendant que tu posais ce commentaire. Je suis d'accord: il n'y a pas de solution "infaillible". –

+0

Qu'est-ce qu'un "lieu habituel"? Dans le monde Linux/Unix, il n'y a pas de "lieu habituel". Certains peuvent l'installer dans/bin,/usr/bin /,/opt /,/usr/local/bin /,/home/nom d'utilisateur/navigateur /, etc ... et de nombreuses distributions les mélangent. Même sous Windows, il est possible d'installer un programme qui n'est pas dans Program Files. –

0

Ne pensez pas que vous pouvez détecter tous les navigateurs installés sur un système, mais vous pouvez vérifier si un particulier est installé en regardant dans le registre

+1

Cela fonctionnera uniquement pour Windows, et à ce que vous pouvez rencontrer des problèmes d'autorisations ou être redirigé vers le magasin virtuel, auquel cas vous n'obtiendrez rien. – Corazu

+0

Java et registre? Qu'en est-il des systèmes * nix ou MacOS, ceux-ci n'ont pas de registre. –

+0

vous avez raison, je suppose que je ne pensais pas à travers – yurib

0

Pour Windows, vous pouvez obtenir ceci dans la formation du registre:

Pour obtenir cette information de java.

1) créer un fichier batch browsers.bat avec le script suivant.

navigateurs d'écho> browsers.txt pour/f "skip = 4 delims =" %% A ('interrogation reg "HKEY_LOCAL_MACHINE \ SOFTWARE \ Clients \ StartMenuInternet" 2 ^> nul') faire ( écho %% ~ nA 1 >> browsers.txt ) exit

2) Appelez le fichier de commandes à partir de Java en utilisant la commande suivante. Processus p = Runtime.getRuntime(). Exec ("cmd/c démarrer browsers.bat", null, nouveau Fichier ("C: \ Users \ batch-file-path"));

Ceci va stocker tous les navigateurs disponibles dans le fichier browsers.txt.

+0

L'OP dit ** Utilisation de Java **, de sorte que ce n'est pas une réponse à la question. – Sami

Questions connexes