[R] Problème avec _IEQuit

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
yohan8
Niveau 6
Niveau 6
Messages : 245
Enregistré le : mer. 07 déc. 2011 22:34
Localisation : Rhône
Status : Hors ligne

[R] Problème avec _IEQuit

#1

Message par yohan8 »

Bonjour,

Mes scripts se confrontent parfois à des problèmes que j'aimerais régler :
Lorsqu'il passe au code '_IEQuit' , ma page internet 'bug' (elle passe d'actif à inactif, en gros elle clignote) et mon script n'arrive pas à le fermer. Lorsqu'on ferme manuellement on obtient les messages 'ne répond plus' & 'fermer le programme immédiatement'.

Donc non seulement mon script se bloque vu qu'il n'arrive pas a fermer ma page internet, aucun message d'erreur s'affiche donc impossible de détecter le bug avec autoit et en plus je ne peux pas fermer les processus d'internet car j'ai une autre page internet que je ne doit pas fermer.

Je pensais faire la liste des fenêtres ouverte (winlist), chercher celle qui m'intéresse (??), puis fermer son processus (processusclose).

Yohan
Modifié en dernier par yohan8 le ven. 09 mars 2012 20:14, modifié 1 fois.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..]_IEQuit

#2

Message par mikell »

Pas facile de répondre sans voir le script ^^
Peut-être une confusion entre $oIE=0 qui ferme l'objet et _IEQuit qui ferme l'objet et le navigateur
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
yohan8
Niveau 6
Niveau 6
Messages : 245
Enregistré le : mer. 07 déc. 2011 22:34
Localisation : Rhône
Status : Hors ligne

Re: [..]_IEQuit

#3

Message par yohan8 »

Il me semblais qu'il n'y avait pas besoin de script car c'est tout simple

Code : Tout sélectionner

$oIE = _IEcreat('www.google.fr')
;action
_IEQuit($oIE)
;suite
Le script ne veut pas passer à la suite car il bloque au code '_IEQuit' car la page internet a subi un 'bug'. Lorsqu'on la ferme manuellement un message de windows nous informe que internet ne répond pas et qu'il à planté. Windows cherche par la suite à résoudre le problème [...]
Ne me dite pas qu'il y a que moi qui subit des plantages d'internet ? :o

Donc ma question est : comment fermer une page internet autrement qu'en passant par _IEQuit($oIE) ?
La réponse je la suppose : par les processus

Mon autre question est : comment fermer le processus d'une fenêtre ?
Et la réponse je la connais pas :mrgreen:
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..]_IEQuit

#4

Message par mikell »

Si ce script

Code : Tout sélectionner

#include <IE.au3>
$oIE = _IEcreate('www.google.fr')
msgbox(0,"", "ouvert")
_IEQuit($oIE)
msgbox(0,"", "fermé")
ne fonctionne pas chez toi, il faut désinstaller/réinstaller IE, ou alors formater
Mais il reste fort probable que le bug soit dans le script et pas dans IE ^^
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
yohan8
Niveau 6
Niveau 6
Messages : 245
Enregistré le : mer. 07 déc. 2011 22:34
Localisation : Rhône
Status : Hors ligne

Re: [..] Problème avec _IEQuit

#5

Message par yohan8 »

Flûte ma question n'a pas été claire. :roll:

Alors j'ai deux page internet différentes. J'aimerais fermer l'une d'elle. Lorsque j'applique le code '_IEQuit($oIE2)' sur ma fenêtre que je veux fermer (qui s'appelle $oIE2), celle-ci 'bug'. :?:

:arrow: 'bug' = succession d'ordre donné à une fenêtre. Ces trop nombreux ordre bloque la fenêtre et celle-ci ne répond plus. Par exemple quand ma page internet charge une adresse web et que je l'a ferme alors qu'elle à pas finit, elle ce met à 'bugger ' et ne répond plus.


Si vous n'avez toujours pas comprit mon histoire je peux vous poser un autre problème dont la réponse répond à ma première question :
J'aimerais fermer le processus d'une fenêtre par le titre de la fenêtre et non par le titre de l'application. Est-ce possible ?
Je pensais faire une liste des fenêtres active puis choisir la fenêtre qui m'intéresse puis fermer son processus.
Avatar du membre
TopXm
Niveau 6
Niveau 6
Messages : 260
Enregistré le : mer. 25 mai 2011 16:37
Localisation : Usa
Status : Hors ligne

Re: [..] Problème avec _IEQuit

#6

Message par TopXm »

Hello :)
Hum, vu que tu parles un coup de page après de processus, je ne sais pas trop où tu veux en venir.
J'ai fait ça [doit y avoir plus simple :) ] ça te retourne le PID et le titre de la fenêtre/onglet avec en entrée le nom du processus
► Afficher le texte_GetAllWindowsTitle
Ou encore via EnumWindows (Voir aide F1 sur DllCallbackRegister)
► Afficher le texteEnumWindows
Testé sur quelques onglets d'IE ouverts ça donne ceci :
► Afficher le texteCapture _ArrayDisplay
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Problème avec _IEQuit

#7

Message par mikell »

yohan8 a écrit :quand ma page internet charge une adresse web et que je l'a ferme alors qu'elle à pas finit, elle ce met à 'bugger ' et ne répond plus.

Code : Tout sélectionner

_IEAction ($oIE, "stop")
" Cancels any pending navigation or download operation and stops any dynamic page elements, such as background sounds and animations. "
:)
" 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