[C] Problème avec _IEQuit, Windows7, IE8

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Maketix35
Niveau 3
Niveau 3
Messages : 33
Enregistré le : jeu. 26 avr. 2012 19:38
Localisation : Rennes
Status : Hors ligne

[C] Problème avec _IEQuit, Windows7, IE8

#1

Message par Maketix35 »

Bonjour

Suite de mes déboires pour le basculement de mon applicatif vers Windows 7 et IE8
Après mes problèmes avec _IEAttach (partiellement résolus) je suis maintenant bloqué par _IEQuit
J'ai besoin de fermer régulièrement certaines des fenêtres IE8 ouvertes
J'utilise donc un code qui ressemble à ça :

Code : Tout sélectionner

$Fen_IE = _IEAttach("google","embedded")
if $Fen_IE<>0 Then
    _IEQuit($Fen_IE)
endif
La fonction _IEAttach retourne bien une valeur dans $Fen_IE
On passe dans le test, mais le fenêtre "google" reste désespérément ouverte

Tout fonctionnait parfaitement bien jusqu'à présent sous XP et IE7

Le mode protégé est désactivé dans IE8
L'UAC ne peut être désactivé (Je suis en entreprise et les PC sont sécurisés)

J'ai bien évidemment fait des recherches sur internet, mais je n'ai trouvé aucune réponse

Etant loin de maitriser AutoIT, je me retourne de nouveau vers vous pour me sortir de l'impasse

Merci par avance pour vos réponses
Modifié en dernier par Maketix35 le dim. 18 nov. 2012 13:33, modifié 1 fois.
Maketix35
Niveau 3
Niveau 3
Messages : 33
Enregistré le : jeu. 26 avr. 2012 19:38
Localisation : Rennes
Status : Hors ligne

Re: [..] Problème avec _IEQuit, Windows7, IE8

#2

Message par Maketix35 »

Bonsoir

Personne n'a la moindre idée pour ce problème ... :(

J'ai essayé d'utiliser firefox à la place IE, mais il faut systématiquement
démarrer manuellement MozRepl pour que cela fonctionne, le démarrage
automatique ne marche pas, ce n'est donc pas utilisable
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Problème avec _IEQuit, Windows7, IE8

#3

Message par blacksoul305 »

Salut,

je sais pas pourquoi ça marche pas. Je vais quand même proposer un truc. Tu as essayé #RequireAdmin en début de script ?
Étudiant en 2ème année de Licence Informatique.
Maketix35
Niveau 3
Niveau 3
Messages : 33
Enregistré le : jeu. 26 avr. 2012 19:38
Localisation : Rennes
Status : Hors ligne

Re: [..] Problème avec _IEQuit, Windows7, IE8

#4

Message par Maketix35 »

Bonsoir

Merci pour la réponse, j'ai bien essayé avec #requireadmin, mais cela ne change rien

j'ai cerné un peu plus le problème, hélas toujours sans trouver de solution

J'ai utilisé le code suivant pour mon test
► Afficher le texte
J'ouvre Google puis Lycos dans 2 fenêtres séparées
Puis dans le fenêtre Google j'affiche Lycos et dans la 1ère Lycos Google
(Tout ceci afin de tester mon autre problème avec la commande _IEAttach)

Tout fonctionne parfaitement avec la 1ere fenêtre ouverte par AutoIt
Ouverture de Google OK -> Changement d'URL vers Lycos OK -> Fermeture Lycos OK

Avec la 2ième fenêtre ouverte ça coince
Ouverture Lycos OK -> Changement d'URL vers Google OK -> fermeture Google NOK
La fenêtre Google ne se ferme pas et me renvoie l'erreur 4 ($_IEStatus_InvalidObjectType) = Invalid Object Type

Et pourtant je n'ai pas d'affichage du message "Google non trouvé" ce qui signifie que la fenêtre est bien vue par _IEAttach

J'ai fait le test avec plusieurs systèmes différents (Windows XP, XP pro, Vista, Vista ultimate Windows 7)
Le problème se pose à chaque fois si c'est IE8 qui est installé
Pas de souci avec IE7 et IE9

Etant en entreprise je ne peux pas choisir l'IE installé et je suis obligé de faire le 8

La j'avoue je sèche
Modifié en dernier par Maketix35 le lun. 04 juin 2012 19:35, modifié 1 fois.
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Problème avec _IEQuit, Windows7, IE8

#5

Message par blacksoul305 »

Bon, j'vais faire quelques tests de mon côté car ton problème traîne tout de même depuis pas mal de temps.

Au fait, tu as oublié les balises CODE pour ton code dans le spoiler !

EDIT : Ça tombe bien, j'ai IE 8.0. Pour infos, je suis sous XP.

EDIT 2 : Aucun test concluant non plus de mon côté. Qu'est-ce que tu comptes réellement faire en fait ? Apparemment ça serait une phase de test car _IEAttach te pose problème, le soucis c'est que j'sais pas à quoi sert cette commande. Mais y a moyen de la contourner non ? Par exemple avec ce code là :
► Afficher le texte
Étudiant en 2ème année de Licence Informatique.
Maketix35
Niveau 3
Niveau 3
Messages : 33
Enregistré le : jeu. 26 avr. 2012 19:38
Localisation : Rennes
Status : Hors ligne

Re: [..] Problème avec _IEQuit, Windows7, IE8

#6

Message par Maketix35 »

Bonsoir

Merci blacksoul305 de t'occuper de mon cas

En fait mon "vrai" programme est plus compliqué que celui de test
Le test est fait uniquement dans le but de comprendre d'où peut venir le problème

Je vais essayer de faire le plus simple possible sans rentrer dans les détails
J'utilise une application qui gère une base données (IMPALA.EXE écrit dans un autre language)
Dans cette application des boutons permettent d'ouvrir des sites intranet par l'intermédaire d'un programme AutoIT (PILOTAGE.EXE)
► Afficher le texte
Les fonctions _IECreate, _IEAttach, _IENavigate,_IEQuit sont donc primordiales pour que tout fonctionne correctement

De plus les utilisateurs peuvent avoir ouvert "manuellement' un site sans passer par PILOTAGE d'où l'obligation d'utiliser _IEAttach pour vérifier son existence (J'ai d'ailleurs un autre post pour mes problèmes d'_IEAttach partiellement réglés)

Voila j'espère que je suis clair

Et je le répète, tout fonctionne parfaitement bien avec XP et IE7

Si mon problème vient d IE8 je ne vois pas quel paramètre peut m'embêter
Modifié en dernier par Maketix35 le mar. 05 juin 2012 09:13, modifié 1 fois.
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Problème avec _IEQuit, Windows7, IE8

#7

Message par blacksoul305 »

Le temps me manque horriblement, c'est bien dommage. Je regarderai de plus près d'où peuvent venir les problèmes et te tiendrai au courant !
Étudiant en 2ème année de Licence Informatique.
Maketix35
Niveau 3
Niveau 3
Messages : 33
Enregistré le : jeu. 26 avr. 2012 19:38
Localisation : Rennes
Status : Hors ligne

Re: [..] Problème avec _IEQuit, Windows7, IE8

#8

Message par Maketix35 »

Bonsoir

J'ai cerné un peu plus le problème

le problème se situe lors d'un test dans la fonction "__IEIsObjType" utilisée par "_IEQuit" de IE.AU3

La variable $s_Type est positionnée à "browser" par _IEQuit

La variable $s_Name = "HTMLWindow2"

Hors seuls "IWebBrowser2", "IWebBrowser" ou "WebBrowser" sont autorisés si $s_Type="browser"
"HTMLWindows2" n'étant valide que si $s_Type="window"

Ceci dit, cela ne m'apporte pas la solution pour autant
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Problème avec _IEQuit, Windows7, IE8

#9

Message par blacksoul305 »

On tourne en rond et mes tests m'amènent à rien. Peut être envisager de poster le problème sur le forum US, si jamais celui-ci n'a pas été traité !
Étudiant en 2ème année de Licence Informatique.
Maketix35
Niveau 3
Niveau 3
Messages : 33
Enregistré le : jeu. 26 avr. 2012 19:38
Localisation : Rennes
Status : Hors ligne

Re: [..] Problème avec _IEQuit, Windows7, IE8

#10

Message par Maketix35 »

Bonsoir

Bon et bien tant pis

Je ne parle pas du tout anglais, je me passerai donc du forum US
De plus, les traductions automatiques sont parfois plus dures à comprendre que l'original
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Problème avec _IEQuit, Windows7, IE8

#11

Message par blacksoul305 »

Je suis d'avis que les traducteurs ne donnent pas tout le temps de bonnes traductions, surtout que souvent il y a des expressions que l'on ne peut traduire mot à mot.

Bref, fais-moi un message qui décrit exactement ton problème, j'verrai si j'ai le temps de poster sur le forum US.
Étudiant en 2ème année de Licence Informatique.
Maketix35
Niveau 3
Niveau 3
Messages : 33
Enregistré le : jeu. 26 avr. 2012 19:38
Localisation : Rennes
Status : Hors ligne

Re: [..] Problème avec _IEQuit, Windows7, IE8

#12

Message par Maketix35 »

Bonsoir

Merci blacksoul305 pour ta proposition
Si celle-ci tiens toujours, voici un résumé de mon problème (en français hélas, je suis vraiment faché avec l'anglais :oops: )
► Afficher le texte
Voila j'espère être assez clair et concis dans ma demande
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Problème avec _IEQuit, Windows7, IE8

#13

Message par blacksoul305 »

Okay, parfait.

Le post est ici, j'espère qu'on trouvera quelque chose de positif !

EDIT : Alors on a eu une réponse, vu que tu as du mal avec l'Anglais, je te la traduis :
[url=http://www.autoitscript.com/forum/topic/141486-problem-with-iequit-windows7-and-ie8/page__view__findpost__p__995333]Réponse[/url] de Decipher a écrit :Salut, je n'ai jamais l'utilisé l'UDF IE et ne possède pas non plus la configuration idéale pour pouvoir chercher une solution à ton problème, mais peut-être que tu pourrais seulement utiliser Send() ou WinClose() pour remplacer _IEQuit(). Si tu veux fermer un onglet spécifique d'Internet Explorer, et que tu as besoin d'utiliser cette fonction, alors précise ta demande.
PS : Le début m'a juste posé problème. Mais sinon ça devrait être bon.

EDIT 2 : Ajout du lien vers le post original.

EDIT 3 : Une autre réponse qui demande de poster ton code, et aussi si _IEQuit fonctionne. Vu que je ne peux pas réellement répondre à ta place, j'ai expliqué une de nos recherches (celle qui utilise les deux IE où l'un se ferme et l'autre bug).

EDIT 4 : Correction de la traduction. Aussi je suis en train de discuter du problème sur le forum US.

EDIT 5 : Oh, on a eu une réponse plus qu'intéressante car le gars parle d'une différence avec l'IE9. J'te traduis la réponse.
[url=http://www.autoitscript.com/forum/topic/141486-problem-with-iequit-windows7-and-ie8/page__view__findpost__p__995481]Réponse[/url] de GMK a écrit :Le problème avec _IEAttach est qu'elle (la commande) a l'air de fonctionner autrement avec IE9. Essaye d'utiliser le titre (le mode par défaut) et regarde si ça aide.

Cela a marché pour moi :
► Afficher le texte
EDIT 6 : Son code marche pour moi aussi, c'est bon signe alors fais en sorte de te connecter !! :twisted:
Étudiant en 2ème année de Licence Informatique.
Maketix35
Niveau 3
Niveau 3
Messages : 33
Enregistré le : jeu. 26 avr. 2012 19:38
Localisation : Rennes
Status : Hors ligne

Re: [..] Problème avec _IEQuit, Windows7, IE8

#14

Message par Maketix35 »

Bonjour blacksoul305

Désolé pour le retard à l'allumagne, mais ce week-end je n'étais pas disponible :oops:

De plus, je ne peux faire les essais que sur mon PC au boulot, chez moi je n'ai pas la configuration requise

Le code ne fonctionne pas, j'ai aussi un problème avec la fonction _IEAttach (voir : http://autoitscript.fr/forum/viewtopic.php?f=3&t=9704)
Cette _IEAttach ne fonctionne correctement que si j'ajoute le paramètre "embedded"
Les paramètres "title","windowtitle" et "url" ne fonctionne pas systématiquement
Ils semblent ne fonctionner que sur la 1ère fenêtre ouverte, comme _IEQuit d'ailleurs, dans l'exemple c'est la fenêtre "Google" modifiée en "Lycos" qui réagit correctement

Dans le code proposé par GMK, voici la partie incriminée
► Afficher le texte
Je pense que mes problèmes entre _IEAttach et _IEQuit sont liés mais par quoi ???, peut-être un paramètre d'IE8

En tout cas, merci beaucoup pour ton aide :wink:
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Problème avec _IEQuit, Windows7, IE8

#15

Message par blacksoul305 »

Salut,

content d'avoir reçu une réponse, dommage que celle-ci soit pas porteuse de bonnes nouvelles. Je m'en vais de ce pas poster ton message sur le forum US, et te tiendrai au courant des réponses obtenues.

A la prochaine !

EDIT : Message posté et topique remonté !

EDIT 2 : Alors, on a reçu une réponse, je te la traduis :
[url=http://www.autoitscript.com/forum/topic/141486-problem-with-iequit-windows7-and-ie8/#entry995935]Réponse[/url] de DaleHohm a écrit :Je n'ai pas lu le topique en entier, mais cela est une mauvaise façon de vérifier si _IEAttach a réussi :

Code : Tout sélectionner

If $Google_IE_Attached = 0 Then
à la place, utilise :

Code : Tout sélectionner

If Not IsObj($Google_IE_Attached) Then
Dale.
Étudiant en 2ème année de Licence Informatique.
Maketix35
Niveau 3
Niveau 3
Messages : 33
Enregistré le : jeu. 26 avr. 2012 19:38
Localisation : Rennes
Status : Hors ligne

Re: [..] Problème avec _IEQuit, Windows7, IE8

#16

Message par Maketix35 »

Bonjour

Toujours pas mieux, pour que _IEAttach fonctionne "correctement" je dois toujours utiliser le paramètre "embedded" sinon les fenêtres ouvertes ne sont pas systématiquement reconnues

Je vais cependant modifier mon programme pour prendre en compte la remarque de Dale

Merci
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Problème avec _IEQuit, Windows7, IE8

#17

Message par blacksoul305 »

Okay. Je vais poster ton message là bas donc. N'empêche que ton problème est agaçant ! :lol:

EDIT : Super, on continue à nous aider, par contre j'ai un gros problème. J'ai du mal à traduire ce qu'a dit BrewManNH dans sa réponse. Marketix35 étant un peu allergique à l'Anglais, et ayant du mal à nous rendre visite, ça serait bête qu'il se connecte sans avoir la possibilité de comprendre la réponse fraîchement donnée, surtout à cause de moi qui je l'avoue, coince sur ce message.

Merci pour votre aide !
Étudiant en 2ème année de Licence Informatique.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Problème avec _IEQuit, Windows7, IE8

#18

Message par Tlem »

BrewManNH a écrit :Le type d'objet retourné pour l'attachement à une fenêtre IE encastrée est différent de l'attachement à une fenêtre non-encastrée. Le type de retour pour une fenêtre encastrée est "HTMLWindow2", et si vous regardez le fonctionnement de la fonction _IEQuit, cela ne correspond pas avec quoi _IEQuit peut fonctionner.

Code : Tout sélectionner

$Google_IE_Attached = _IEAttach("Google", "embedded")
MsgBox(262144,'Debug line ~' & @ScriptLineNumber,'Selection:' & @lf & 'String(ObjName($Google_IE_Attached))' & @lf & @lf & 'Return:' & @lf & String(ObjName($Google_IE_Attached))) ;### Debug MSGBOX
Modifiez le code du message #7 pour utiliser l'option incorporée et vous verrez dans la MsgBox ce qu'il retourne._IEQuit exige d'autre part de lire comme l'un de ces cas :

Code : Tout sélectionner

If ($s_Name = "IWebBrowser2") Or ($s_Name = "IWebBrowser") Or ($s_Name = "WebBrowser") Then $objectOK = True
Je pense avoir traduit assez fidèlement. Mais comme chacun le sait, la langue de Shakespeare (tout comme celle de Molière) a des nuances difficilement interprétables si on ne maitrise pas parfaitement la langue (ce qui est mon cas ;) )
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é".
Maketix35
Niveau 3
Niveau 3
Messages : 33
Enregistré le : jeu. 26 avr. 2012 19:38
Localisation : Rennes
Status : Hors ligne

Re: [..] Problème avec _IEQuit, Windows7, IE8

#19

Message par Maketix35 »

Bonjour

Je pense avoir saisi le sens global de la réponse avec certains mots-clé
Je l'avais déja évoqué dans un message précédent sur le forum français (Jeu 07 Juin 2012 20:43)

En modifiant le code comme proposé, j'ai bien ""HTMLWindow2", en valeur de retour

Mon problème semble donc plus lié à _IEAttach qu'à _IEQuit

Je reformule donc ma question, pourquoi _IEAttach ne fonctionne-t-il pas systématiquement avec "title" , "windowtitle" ou "url"

J'ai modifié le code de BrewManNH et supprimé le paramètre "embedded"

Code : Tout sélectionner

$Google_IE_Attached = _IEAttach("Google")
MsgBox(262144,'Debug line ~' & @ScriptLineNumber,'Selection:' & @lf & 'String(ObjName($Google_IE_Attached))' & @lf & @lf & 'Return:' & @lf & String(ObjName($Google_IE_Attached))) ;### Debug MSGBOX
 
Dans ce cas, la chaine retournée est vide, ce qui explique que _IEAttach ne fonctionne pas
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Problème avec _IEQuit, Windows7, IE8

#20

Message par blacksoul305 »

Je vous remercie Tlem de m'avoir donné un p'tit coup de main pour traduire le message, d'habitude j'ai pas trop de mal avec l'Anglais, mais comme vous l'avez dit :
Tlem a écrit :Mais comme chacun le sait, la langue de Shakespeare (tout comme celle de Molière) a des nuances difficilement interprétables si on ne maitrise pas parfaitement la langue.
Bref, je poste ta réponse sur le forum US. (Marketix35)
Étudiant en 2ème année de Licence Informatique.
Répondre