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 !
[R] Détecter l'installation de navigateurs
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Détecter l'installation de navigateurs
Modifié en dernier par Asardex le jeu. 12 févr. 2015 14:50, modifié 1 fois.
Re: [..] Détecter l'installation de navigateurs
A mon avis le meilleur moyen est de lire le registre avec les clés suivantes:
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"
Code : Tout sélectionner
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\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"
Re: [..] Détecter l'installation de navigateurs
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 !
Encore merci de votre aide, en espérant que ça puisse servir à quelqu'un d'autre que moi , un jour !
- orax
- 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
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.
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.
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)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)
Re: [R] Détecter l'installation de navigateurs
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 !
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 !


