[..] Voir si un navigateur existe et l’exécuter

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Scharz
Niveau 2
Niveau 2
Messages : 22
Enregistré le : lun. 14 janv. 2013 20:19
Status : Hors ligne

[..] Voir si un navigateur existe et l’exécuter

#1

Message par Scharz »

Bonjour , je post ici car j'ai besoin d'aide
Je cherche comment savoir si un navigateur est installé sur un ordinateur .
Et si il est installé on s'en servira , si plusieurs navigateur sont installé alors on fait un Random pour les exécuter aléatoirement , mais si il exite une commende pour lancer le navigateur par défaut ( car je ne doit pas utiliser que IE ) c'est encore mieux . J'ai essayer ShellExecute(www.google.com) , cela ouvre bien la page google avec Firefox , mais pour vérifier j'ai désinstallé Firefox et une fois le script lancé ( ShellExecute(www.google.com) ) , une erreur apparaît " Application introuvable ".
Donc si je ne peut pas utiliser de navigateur par défaut , je dois vérifier si Firefox Google ou IE est installé sur un ordi , pas avec ProcessEexist car même si l’utilisateur ne le lance pas il peut quand même être présent , Voilà mon code : ( Il manque les boucle je verrai plus tard )

Code : Tout sélectionner

Global $web = Random(1,3,1) ; 2 boucle pour ramdom 
Const $FF = 0 ; Firefox
Const $GC = 0 ; Google Chrome
Const $IE = 0 ; Internet Explorer

If ProcessExists("MorillaFirefox") Then
    $FF = 1
EndIf

If ProcessExists("GoogleChrome") Then
    $GC = 1
EndIf

If ProcessExists("InternetExplorer") Then
    $IE = 1
EndIf

If $web = 1 Then
    ShellExecute("MozzilaFirefox")
EndIf

If $web = 2 Then
    ShellExecute("GoogleChrome")
EndIf

If $web = 3 Then
    _IECreate("www.google.com")
EndIf
    
   
PS: Je répète, si il y a une fonction qui ouvre le navigateur par défaut ( donc c'est a dire qui est différents sur chaque pc , firefox , Google ou IE ) , je prend :mrgreen:
Merci
Cordialement ;
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [..] Voir si un navigateur existe et l’exécuter

#2

Message par TT22 »

Scharz a écrit :si il exite une commende pour lancer le navigateur par défaut

Code : Tout sélectionner

ShellExecute("http://www.autoitscript.fr/autoit3/docs/functions/ShellExecute.htm")
Cordialement,
TT22
Scharz
Niveau 2
Niveau 2
Messages : 22
Enregistré le : lun. 14 janv. 2013 20:19
Status : Hors ligne

Re: [..] Voir si un navigateur existe et l’exécuter

#3

Message par Scharz »

Avec Firefox sa marche mais pas sans : Screen http://upload.stabland.fr/images/img118/screenau3.png
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Voir si un navigateur existe et l’exécuter

#4

Message par Tlem »

Après avoir désinstallé Firefox, avez-vous redémarré et/ou lancé un autre navigateur présent dans votre machine ? ^^
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Scharz
Niveau 2
Niveau 2
Messages : 22
Enregistré le : lun. 14 janv. 2013 20:19
Status : Hors ligne

Re: [..] Voir si un navigateur existe et l’exécuter

#5

Message par Scharz »

J'ai pas redémarrer cet ordi car c'est mon ordi pour l'internat , il met 2h ( vrai ) pour s'allumer . J'essayerais chez moi avec mon ordi principal , vous pouvez me dire en attendant si sa marche pour vous ? Par exemple si y'en a que si il exécute : ShellExecute("http://www.autoitscript.fr/autoit3/docs ... xecute.htm")
Sa ouvre Firefox , Google ou Internet Explorer ?
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [..] Voir si un navigateur existe et l’exécuter

#6

Message par TT22 »

En fait, ShellExecute() lance un fichier en fonction de son extension où de son protocol.
Par exemple, pour une adresse web, le protocol est l'HyperText Transfert Protocol ("http:"). Windows va donc chercher quel est le programme associé au protocol HTTP (le navigateur par défaut) et le lancer avec comme paramètre l'URL demandé.
En désinstallant ton navigateur par défaut, tu supprime donc le programme associé au protocol HTTP d'où ton erreur.
Comme te l'as dit Tlem, le simple fait de lancer un autre navigateur devrait recréer une association entre ce navigateur et le protocol HTTP (généralement après demande).
De nos jours, il n'existe presque aucun ordinateur qui n'ai pas de programme pour le protocol HTTP (celui du web), il est donc quasiment impossible que qelqu'un ait ton erreur (sauf si comme toi il s'amuse à supprimer son navigateur par défaut) en utilisant un ShellExecute pour un protocol HTTP.
Cordialement,
TT22
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Voir si un navigateur existe et l’exécuter

#7

Message par mikell »

Sous XP :

Code : Tout sélectionner

$txt = ""
For $i = 1 To 100
    Local $var = RegEnumKey("HKEY_CLASSES_ROOT\Applications", $i)
    If @error <> 0 Then ExitLoop
    If $var = "iexplore.exe" OR $var = "firefox.exe" Then 
       $value = RegRead("HKEY_CLASSES_ROOT\Applications\" & $var & "\shell\open\command", "")
       $txt &= StringRegExpReplace($value, '"(.+?)".+', "$1") & @crlf
    EndIf
Next
Msgbox(0,"installés", $txt)
Ensuite pour imposer l'ouverture d'un navigateur, suffit de le demander ^^

Code : Tout sélectionner

$url = "http://www.google.fr"
Run("C:\Program Files\Internet Explorer\iexplore.exe " & $url)
Run("C:\Program Files\Mozilla Firefox\firefox.exe " & $url)
; etc
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre