[R] Détecter l'installation de navigateurs

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Asardex
Niveau 2
Niveau 2
Messages : 15
Enregistré le : mer. 14 janv. 2015 14:52
Status : Hors ligne

[R] Détecter l'installation de navigateurs

#1

Message par Asardex »

Bonjour à tous !
Alors voilà mon problème : Je voudrais savoir si tel ou tel navigateur (Chrome, Firefox, Safari ...) est installé sur une machine lambda.
En effet, je voudrais dans la mesure du possible lancer un navigateur, en ayant une liste de préférence (donc ne pas forcément lancer le navigateur par défaut). En clair, si plusieurs sont installés, je ne lance que celui que je préfère.

Autre question, au passage, est-il possible de lancer un navigateur sans en connaitre son dossier d'installation (par exemple : "C:\programmes\chrome\chrome.exe") ?

Merci de votre réponse,
Bonne journée à tous !
Modifié en dernier par Asardex le jeu. 12 févr. 2015 14:50, modifié 1 fois.
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Détecter l'installation de navigateurs

#2

Message par timmalos »

A mon avis le meilleur moyen est de lire le registre avec les clés suivantes:

Code : Tout sélectionner

HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\
Vous trouverez un dossier pour chaque navigateur installé, et pour un chacun un dossier shell-> open -> command -> (par défaut) de type REG_SZ avec le Path vers l'executable à lancer.

par exemple pour Chrome chez moi :
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\Google Chrome\shell\open\command]
@="\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\""

Et pour IE :

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\IEXPLORE.EXE\shell\open\command]
@="C:\\Program Files\\Internet Explorer\\iexplore.exe"
Asardex
Niveau 2
Niveau 2
Messages : 15
Enregistré le : mer. 14 janv. 2015 14:52
Status : Hors ligne

Re: [..] Détecter l'installation de navigateurs

#3

Message par Asardex »

Merci beaucoup, c'est vrai que j'aurais dû (encore une fois) m'orienter vers le registre ...
Encore merci de votre aide, en espérant que ça puisse servir à quelqu'un d'autre que moi , un jour ! :wink:
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [R] Détecter l'installation de navigateurs

#4

Message par orax »

Pour IE sur un Windows 8.1, dans StartMenuInternet je n'ai pas le chemin complet du .exe ("C:\\Program Files\\Internet Explorer\\iexplore.exe"), j'ai juste "iexplore.exe". Ce qui veut dire qu'avec Run() ça ne pourrait fonctionner. Mais avec ShellExecute() ça va.

Code : Tout sélectionner

$iexplore=RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\IEXPLORE.EXE\shell\open\command', '') ; iexplore.exe
ConsoleWrite($iexplore & @CRLF)
;~ Run($iexplore) ; erreur !
ShellExecute($iexplore)
D'après ce que j'ai lu là (MSDN) Application Registration, si ShellExecute ne trouve pas l'exécutable, il va chercher, en dernier recours, son chemin dans l'une des ces clés : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths ou HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths.
C'est pratique puisque de cette façon on peut exécuter un logiciel même si l'exécutable n'est pas dans le "PATH". Par exemple si je tape chrome dans Démarrer > Exécuter (ou WIN+R), il exécute bien Google Chrome.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Asardex
Niveau 2
Niveau 2
Messages : 15
Enregistré le : mer. 14 janv. 2015 14:52
Status : Hors ligne

Re: [R] Détecter l'installation de navigateurs

#5

Message par Asardex »

Ayant un w8.1, je me suis empressé de vérifier, et j'ai bien, pour ma part, le chemin complet de IE (C:\\Program Files\\Internet Explorer\\iexplore.exe) dans le registre "HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\IEXPLORE.EXE\shell\open\command" ...
M'enfin, si avec ShellExecute() ça résout le problème pour lancer le navigateur, bah il n'y a plus de problème ^^

Merci encore à tous, vous m'avez, une fois de plus, été d'une grande aide !
Répondre