Page 1 sur 1
[..] Bloquer les Pop-up dans le webbrowser?
Posté : dim. 29 juil. 2012 13:40
par TILK
Bonjour,
Je cherche à bloquer les fenêtres Pop-up du webbrowser que j'ai fait avec AutoIt. Pour que celles-ci ne puissent pas s'ouvrir dans internet explorer à coté de mon navigateur made in AutoIt.
Sous Visual Basic, il existe une fonction :
Sous VB ça se passe comme ça :
http://www.daniweb.com/software-develop ... new-window
Par contre sous AutoIt je n'ai rien trouvé de similaire!
Re: [..] Bloquer les Pop-up dans le webbrowser?
Posté : dim. 29 juil. 2012 13:40
par TILK
Topic mis en règle, j'attends votre aide maintenant

Re: [..] Bloquer les Pop-up dans le webbrowser?
Posté : jeu. 02 août 2012 03:32
par TILK
Personne ne connait de solution?

Re: [..] Bloquer les Pop-up dans le webbrowser?
Posté : jeu. 02 août 2012 09:31
par TopXm
Hello
Si j'ai bien capté ta question, sous VB ce dont tu parles ce sont des modules de classe que tu peux personnaliser via des Property Get / Let
Perso, je ne connais pas d'équivalent en AutoIT. Par contre tu ne pourrais pas faire passer un paramètre supplémentaire dans tes fonctions
dépendant d'une variable Globale définie en début de code et pouvant varier ? Ce n'est pas très clair mes histoires
En gros, si j'ai bien compris ta question, çapourrait faire un truc du style
► Afficher le texteBout de code
Code : Tout sélectionner
Global $Popup = True
...
If $JeVeuxPlusDePopup then $Popup = False
...
Function _MaFunction1($Param1, $Param2, $SendPopup = $Popup)
If Not $SendPopup Then Return
...
EndFunc
[/spoiler]
En espérant ne pas être à côté de la plaque

Re: [..] Bloquer les Pop-up dans le webbrowser?
Posté : jeu. 02 août 2012 09:53
par timmalos
Alors j'ai essayé de fouiller dans msdn.
La première solution qui est proposée par msdn, mais ne marche pas chez moi, à essayer:
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
Rajoutez ceci après la creation de votre DWebBrower.
Avec AutoIt on ne peut malheureusement pas faire comme en VB et annuler l'ouverture de la fenetre en capturant l'evenement:
The AutoIt event handling model, unfortunately, handles events asynchronously. Therefore, you don't hear about the event in AutoIt until it is already occurred in your cancel operation has no effect
Du coup il reste une seule solution : Utiliser _IEHeadInsertEventScript.
par exemple ce code va bloquer le click de tous les liens ayant un target="_blanck" (donc que le navigateur veut ouvrir dans une autre fenetre)
Code : Tout sélectionner
$oLinks = _IELinkGetCollection($oIE)
For $oLink in $oLinks
If string($oLink.target) = "_blank" Then
$sLinkId = _IEPropertyGet($oLink, "uniqueid")
_IEHeadInsertEventScript($oIE, $sLinkId, "onclick", "return false;")
EndIf
Next
C'est à adapter, en supprimant simplement le target="_blank" par exemple, et il faut le faire a chaque nouvelle page. Si l'utilisateur clique sur un lien qui recharge la page, il faudra repérer cet evenement et refaire ce bout de code pour enlever les target="_blank"
Re: [..] Bloquer les Pop-up dans le webbrowser?
Posté : jeu. 02 août 2012 16:56
par TILK
merci, je crois que je vais laisser tomber, c'est trop compliqué.
La première méthode ne fonctionne pas et la deuxième méthode fait que mon programme ne s'ouvre même plus.
C'est quand même fou... je pensais qu'il existait une méthode pour interdire l'ouverture d'internet explorer pendant l'utilisation de mon programme.

Re: [..] Bloquer les Pop-up dans le webbrowser?
Posté : jeu. 02 août 2012 20:14
par timmalos
Si c'est la seule chose qui vous preoccupe, on peut toujours regarder le nombre d'instances IE ouvertes quand votre programme se lance, et si une nouvelle apparait dans les processus, on la kill aussitot.
Re: [..] Bloquer les Pop-up dans le webbrowser?
Posté : jeu. 02 août 2012 22:58
par Tlem
Re: [..] Bloquer les Pop-up dans le webbrowser?
Posté : ven. 03 août 2012 20:26
par TILK
Merci, je lis ça dès que j'ai le temps!
Re: [..] Bloquer les Pop-up dans le webbrowser?
Posté : sam. 04 août 2012 00:21
par TILK
Je pense avoir peut-être trouvé une solution mais j'ai besoin de votre aide.
Savez comment bloquer/fermer une certaine page (connu d'avance) qui voudrez s'ouvrir?
Je pense qu'il faut faire une boucle while mais je ne sais pas comment m'y prendre.
Re: [..] Bloquer les Pop-up dans le webbrowser?
Posté : sam. 04 août 2012 02:59
par TopXm
Hello,
TILK a écrit :Savez comment bloquer/fermer une certaine page
ça n'a rien à voir avec AutoIT mais pour le filtrage internet le fichier Hosts remplit aussi cette mission