[R] Récupérer un lien qui n'est pas une page IE

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
DJSIR
Niveau 8
Niveau 8
Messages : 583
Enregistré le : mar. 01 juil. 2008 15:16
Localisation : 76, Le HAVRE (in the DJSIR World)
Status : Hors ligne

[R] Récupérer un lien qui n'est pas une page IE

#1

Message par DJSIR »

Bonjour. J'aimerais faire plusieurs choses avant tout.

1. Quand je navigue avec IE, j'aimerais que quand je clique sur un lien qui n'est pas une page mais un fichier, autoit le detecte et m'affiche par exemple une msgbox.

2. Après, je pense pouvoir me débrouiller tout seul pour télécharger le fichier grâce au lien récupéré.

Merci !
Modifié en dernier par DJSIR le mer. 01 juil. 2009 16:07, modifié 1 fois.
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)

[Func] ProgressBar, aller plus loin
Avatar du membre
jumby
Niveau 5
Niveau 5
Messages : 118
Enregistré le : jeu. 12 juin 2008 17:50
Status : Hors ligne

Re: [..] Récupérer un lien qui n'est pas une page IE

#2

Message par jumby »

Votre idée m'a inspiré.
Voici mon script :
► Afficher le texte
Désolé si les variables sont carrément mal nommées, si les conditions foisonnent de partout ^^.
Avatar du membre
DJSIR
Niveau 8
Niveau 8
Messages : 583
Enregistré le : mar. 01 juil. 2008 15:16
Localisation : 76, Le HAVRE (in the DJSIR World)
Status : Hors ligne

Re: [..] Récupérer un lien qui n'est pas une page IE

#3

Message par DJSIR »

Marche pas chez moi, avec iE8, le titre des fênetres commencent par le nom suivient du titre du naviguateur. "Autoit Français * Répondre - Windows Internet Explorer"

Il faut revoir ton code.
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)

[Func] ProgressBar, aller plus loin
Avatar du membre
jumby
Niveau 5
Niveau 5
Messages : 118
Enregistré le : jeu. 12 juin 2008 17:50
Status : Hors ligne

Re: [..] Récupérer un lien qui n'est pas une page IE

#4

Message par jumby »

Fonctionne parfaitement pour moi avec IE6 et IE8.
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écupérer un lien qui n'est pas une page IE

#5

Message par orax »

J'ai testé sur http://www.7-zip.org/ et je crois que ça marche pour le ".exe" mais je ne n'ai aucune msgbox() avec le ".msi" (testé sous IE 8).
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
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écupérer un lien qui n'est pas une page IE

#6

Message par orax »

D'après http://msdn.microsoft.com/en-us/library ... S.85).aspx

Avec ce code, si j'ai bien compris, $Cancel=True devrait annuler l'affichage de la boîte de dialogue mais ce n'est pas le cas. Je ne sais pas si c'est un problème lié à Autoit ou si je l'ai mal utilisé.
► Afficher le texte
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
jumby
Niveau 5
Niveau 5
Messages : 118
Enregistré le : jeu. 12 juin 2008 17:50
Status : Hors ligne

Re: [..] Récupérer un lien qui n'est pas une page IE

#7

Message par jumby »

Pour rajouter le support de l'extension .msi :

Il faut dresser une liste des extensions supportées par le script et changer la valeur de la boucle :

Local $extension[10] ; Entre crochet le nombre d'extension
$extension[0] = "rar"
$extension[1] = "zip"
$extension[2] = "exe"
$extension[3] = "avi"
$extension[4] = "mp3"
$extension[5] = "wav"
$extension[6] = "pdf"
$extension[7] = "dat"
$extension[8] = "dll"
$extension[9] = "odt"

for $extensiontest = 0 to 9 step 1 ; La valeur maximale de la boucle devra correspondre à la valeur entre crochet du dernier array $extension.
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écupérer un lien qui n'est pas une page IE

#8

Message par orax »

J'ai un peu corrigé mon exemple précédent :

Code : Tout sélectionner

#include <IE.au3>
Global $globale
$oIE = _IECreate("http://www.7-zip.net")
$SinkObject=ObjEvent($oIE,"IEEvent_","DWebBrowserEvents2")
While 1
    Sleep(100)
WEnd

Func IEEvent_BeforeNavigate2($a,$b,$c,$d,$e,$f)
    $globale=$b
EndFunc

Func IEEvent_FileDownload ($activeDocument ,$cancel )
    MsgBox(0,"Téléchargement de...",$globale)
EndFunc
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
DJSIR
Niveau 8
Niveau 8
Messages : 583
Enregistré le : mar. 01 juil. 2008 15:16
Localisation : 76, Le HAVRE (in the DJSIR World)
Status : Hors ligne

Re: [..] Récupérer un lien qui n'est pas une page IE

#9

Message par DJSIR »

Escusez-moi, testé sur un autre PC, puis re-sur le mien, sa fonctionne, juste la MsgBox s'affiche en fond.

EDIT : Pour les extentions de fichiers, regarder ici, et bonne chance pour celui qui va les intégrer au script ! :wink:
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)

[Func] ProgressBar, aller plus loin
Répondre