Page 1 sur 1
[R] Détection Navigateur utilisé
Posté : ven. 27 sept. 2013 13:52
par jcaspar
Bonjour à tous !
Je souhaiterais forcer la navigation avec Internet Explorer
quel serait à votre avis le meilleur moyen d'y parvenir
Dans mon idée utiliser une détection du navigateur ... mais j'ignore si cela est possible
Peut être avez vous des infos à ce sujet ..
Merci pour vos suggestions !
Jean-Marc
Re: [..] Détection Navigateur utilisé
Posté : ven. 27 sept. 2013 14:11
par mikell
Tu peux détecter le navigateur utilisé avec un javascript comme par exemple ici
http://www.quirksmode.org/js/detect.html
Mais l'utilisation discutable :
http://www.misfu.com/static/Javascript/support.html
De toute façon pas sûr que ça serve à grand chose pour forcer une navigation avec IE si le navigateur par défaut de l'utilisateur est un autre
Re: [..] Détection Navigateur utilisé
Posté : ven. 27 sept. 2013 14:14
par jcaspar
M

erci beaucoup pour cette information .... mais peut on utiliser des javascript avec autoit ?
Si oui aurais tu un exemple simple pour que je puisse me faire une idée de la faisabilité ?
Re: [..] Détection Navigateur utilisé
Posté : ven. 27 sept. 2013 14:15
par FireFox
jcaspar a écrit :M

erci beaucoup pour cette information .... mais peut on utiliser des javascript avec autoit ?
Si oui aurais tu un exemple simple pour que je puisse me faire une idée de la faisabilité ?
Ca dépend, tu veux forcer la navigation côté pc ou côté serveur?
Cdlt, FireFox.
Re: [..] Détection Navigateur utilisé
Posté : ven. 27 sept. 2013 15:12
par jcaspar
Coté client sur le poste utilisateur
Re: [..] Détection Navigateur utilisé
Posté : ven. 27 sept. 2013 15:21
par FireFox
jcaspar a écrit :Coté client sur le poste utilisateur
Dans ce cas t'as juste à lister soit les processus soit les fenêtres et détecter si c'est tel ou tel navigateur.
Cdlt, FireFox.
Re: [..] Détection Navigateur utilisé
Posté : ven. 27 sept. 2013 16:20
par jguinch
Je souhaiterais forcer la navigation avec Internet Explorer
En fait, tu veux que le navigateur par défaut soit IE, nan ?
Re: [..] Détection Navigateur utilisé
Posté : sam. 28 sept. 2013 10:31
par jcaspar

oui effectivement je souhaiterais que IE soit le navigateur par défaut pour que je soit certain que mon application s'ouvre bien sous IE et non sous firefox ou un autre navigateur !
Re: [..] Détection Navigateur utilisé
Posté : sam. 28 sept. 2013 12:14
par Tlem
jcaspar a écrit :mon application s'ouvre bien sous IE
Gné !!

Re: [..] Détection Navigateur utilisé
Posté : sam. 28 sept. 2013 13:20
par FireFox
Globalement même si IE est le navigateur par défaut il veut forcer celui ci sur sa machine.
Il me semble que sur XP (et peut être OS ultérieurs) dans la fenêtre de configuration des programmes par défaut tu peux bloquer les autres navigateurs.
Cdlt, FireFox.
Re: [..] Détection Navigateur utilisé
Posté : sam. 28 sept. 2013 13:40
par TopXm
Hello
Sinon, j'ai une fonction qui liste les browser installés, s'ils s'exécutent et lequel est celui par défaut :
► Afficher le texteFunction
Code : Tout sélectionner
;
; _GetInstalledBrowsers() : Retourne dans un Array les navigateurs installés sur le PC
;
; Return : Tableau 2D / $nCount en [0]
; $Array[X][0] : BrowserName
; $Array[X][1] : BrowserExeFullPath
; $Array[X][2] : IsRunning (Boolean)
; $Array[X][3] : IsDefaultBrowser
Local Const $HKLM_1 = 'HKEY_LOCAL_MACHINE\Software\Clients\StartMenuInternet'
Local Const $HKCU_1 = 'HKEY_CURRENT_USER\Software\Clients\StartMenuInternet'
Local Const $KeyCmdOpen = '\shell\open\command'
Local $BrwName = '', $BrwPath = ''
Local Const $rIco = '\DefaultIcon'
Local $aBrowsers[1][4]
Local $Browser
;
; Exemples :
;
_GetDefaultBrowser()
ConsoleWrite('$BrwName=' & $BrwName & ' $BrwPath=' & $BrwPath & @CRLF)
Local $Arr = _GetInstalledBrowsers()
#include <array.au3>
_ArrayDisplay($Arr)
; --------------------------------------------
Func _GetInstalledBrowsers()
ReDim $aBrowsers[1][4]
$aBrowsers[0][0] = 0
Local $KeyR = "HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet"
Local $I = 0
While 1
$I += 1
$Browser = RegEnumKey($KeyR, $I)
If @error <> 0 Then ExitLoop
$aBrowsers[0][0] += 1
ReDim $aBrowsers[$aBrowsers[0][0] + 1][4]
$aBrowsers[$aBrowsers[0][0]][0] = RegRead($KeyR & "\" & $Browser, "")
$aBrowsers[$aBrowsers[0][0]][1] = StringReplace(RegRead($KeyR & '\' & $Browser & $KeyCmdOpen, ''), '"', '')
If StringInStr($aBrowsers[$aBrowsers[0][0]][1], 'http') Then
$aBrowsers[$aBrowsers[0][0]][1] = StringLeft($aBrowsers[$aBrowsers[0][0]][1], StringInStr($aBrowsers[$aBrowsers[0][0]][1], 'http') - 1)
EndIf
WEnd
; Recherche des navigateurs installés, 2ème méthode
; (Ex : Maxthon, mais bon ça différe selon l'OS et en plus ça le fait pas sur XP ...)
$I = 0
$KeyR = "HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications"
Local $ValRead, $DataRead
Local $SearchString = "Software\Clients\StartMenuInternet"
While 1
$I += 1
; If $I > $nValues Then ExitLoop
$ValRead = RegEnumVal($KeyR, $I)
If @error Then ExitLoop
$DataRead = RegRead($KeyR, $ValRead)
If StringInStr($DataRead, $SearchString, 0) <> 0 Then
$Browser = RegRead($KeyR & "\" & $ValRead, "")
If $Browser <> '' Then
$aBrowsers[0][0] += 1
ReDim $aBrowsers[$aBrowsers[0][0] + 1][4]
$aBrowsers[$aBrowsers[0][0]][0] = $Browser
$aBrowsers[$aBrowsers[0][0]][1] = StringReplace(RegRead($KeyR & '\' & $ValRead & $rIco, ''), '"', '')
If StringInStr($aBrowsers[$aBrowsers[0][0]][1], 'http') Then
$aBrowsers[$aBrowsers[0][0]][1] = StringLeft($aBrowsers[$aBrowsers[0][0]][1], StringInStr($aBrowsers[$aBrowsers[0][0]][1], 'http') - 1)
EndIf
Local $nPos = StringInStr($aBrowsers[$aBrowsers[0][0]][1], ',')
If $nPos > 0 Then
$aBrowsers[$aBrowsers[0][0]][1] = StringTrimRight($aBrowsers[$aBrowsers[0][0]][1], StringLen($aBrowsers[$aBrowsers[0][0]][1]) - $nPos + 1)
EndIf
EndIf
EndIf
WEnd
$aBrowsers = _CheckBrowserRunning($aBrowsers)
$aBrowsers = _CheckDefaultBrowser($aBrowsers)
If @error Then SetExtended(@error)
Return $aBrowsers
EndFunc ;==>_GetInstalledBrowsers
; ----
; Check if browsers are running :
; update flag Running $aBrowsers[X][3]
; ----
Func _CheckBrowserRunning($aBrowsers)
If UBound($aBrowsers) <= 0 Then Return SetError(1, 0, 0)
If UBound($aBrowsers, 0) <> 2 Then Return SetError(2, 0, 0)
Local $K, $aProc, $nShort, $nPos
For $K = 1 To $aBrowsers[0][0]
$nShort = StringTrimLeft($aBrowsers[$K][1], StringInStr($aBrowsers[$K][1], '\', 0, -1))
$aProc = ProcessList($nShort)
$aBrowsers[$K][2] = False
If $aProc[0][0] > 0 Then $aBrowsers[$K][2] = True
Next
Return $aBrowsers
EndFunc ;==>_CheckBrowserRunning
; ----
; Check default browser
; ---
Func _CheckDefaultBrowser($aBrowsers)
Local $K, $aProc, $nShort, $nPos
For $K = 1 To $aBrowsers[0][0]
$aBrowsers[$K][3] = False
If $aBrowsers[$K][0] = $BrwName Then $aBrowsers[$K][3] = True
Next
Return $aBrowsers
EndFunc ;==>_CheckDefaultBrowser
; ----
; Check default browser
; ---
Func _GetDefaultBrowser()
;Get Default Value from HKCU\..\StartMenuInternet
Local $KeyB = $HKLM_1
Local $KeyR = RegRead($HKCU_1, '')
If @error Then $KeyR = RegRead($HKLM_1, '')
;No DefaultBrowser in HKLM
If @error Or $KeyR = '' Then Return SetError(1)
;Add Default Value to KeyName for read and get default browser name
$KeyB &= '\' & $KeyR
$BrwName = RegRead($KeyB, '')
If @error Then SetError(2)
;Add ShellOpenCommand & Get Default Browser Name
$KeyB &= $KeyCmdOpen
$BrwPath = RegRead($KeyB, '')
EndFunc ;==>_GetDefaultBrowser
Re: [..] Détection Navigateur utilisé
Posté : sam. 28 sept. 2013 14:06
par mikell
jcaspar a écrit :pour que je soit certain que mon application s'ouvre bien sous IE et non sous firefox
ça dépend de comment est construite ton aplication et comment elle appelle le navigateur
Ya peu de chances qu'un _IECreate("
http://www.google.fr/") ou un Run("explorer.exe " & "
http://www.google.fr/") etc ouvre firefox
