Page 1 sur 1

[..] Freeze du gui avec _IECreate

Posté : sam. 31 juil. 2010 03:04
par networe
Bonjour donc voila c'est simple,

Quand je lance l'Ouverture d'une fenetre IE, il m'est impossible d'intéragire avec le Gui, même si la page est fermé :/

Comment arrangé cela ?

Merci

Code : Tout sélectionner

; A simple custom messagebox that uses the MessageLoop mode

#include <GUIConstantsEx.au3>
#include <IE.au3>
#include <INet.au3>

Opt('MustDeclareVars', 1)

_Main()

Func _Main()
    Local $YesID, $NoID, $ExitID, $msg

    GUICreate("Custom Msgbox", 210, 80)

    GUICtrlCreateLabel("Please click a button!", 10, 10)
    $YesID = GUICtrlCreateButton("Yes", 10, 50, 50, 20)
    $NoID = GUICtrlCreateButton("Internet", 80, 50, 50, 20)
    $ExitID = GUICtrlCreateButton("Exit", 150, 50, 50, 20)

    GUISetState()  ; display the GUI

    Do
        $msg = GUIGetMsg()

        Select
            Case $msg = $YesID
                MsgBox(0, "You clicked on", "Yes")
            Case $msg = $NoID
                _IECreate("https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=5EFCDJCQQ9V34&lc=CA&item_name=AntiPorno%20Win%20%2d%20Achat%20a%20vie&amount=1%2e00&currency_code=EUR&button_subtype=services&bn=PP%2dBuyNowBF%3abtn_buynowCC_LG%2egif%3aNonHosted")
            Case $msg = $ExitID
                MsgBox(0, "You clicked on", "Exit")
            Case $msg = $GUI_EVENT_CLOSE
                MsgBox(0, "You clicked on", "Close")
        EndSelect
    Until $msg = $GUI_EVENT_CLOSE Or $msg = $ExitID
EndFunc   ;==>_Main

Re: [..] Freeze du gui avec _IECreate

Posté : sam. 31 juil. 2010 08:57
par Sh4dows
Si tu veux de l'aide il nous faudrait peut être ton code non ?
Parce que là, je ne voit pas comment l'on peut voir pourquoi tu a la GUI qui freeze sans ton code :roll:

Merci de ta compréhension...

Re: [..] Freeze du gui avec _IECreate

Posté : sam. 31 juil. 2010 13:26
par networe
C'est édité

Re: [..] Freeze du gui avec _IECreate

Posté : dim. 01 août 2010 14:43
par Sh4dows
j'ai changer ta boucle "Do While" en "While" et la façon de quitter le programme !

Sinon _IECreate fige ta GUI car avant de fermer le navigateur que le script ouvre, tu doit attendre que la page soit entièrement charger.
Pour corriger cela il va falloir soit passer en mode évènementiel et encore je n'en suis pas sur; sinon programmation multi thread et pour cela tourne toi du coté de _Adlib..()

Code : Tout sélectionner

; A simple custom messagebox that uses the MessageLoop mode

#include <GUIConstantsEx.au3>
#include <IE.au3>
#include <INet.au3>

Opt('MustDeclareVars', 1)

_Main()

Func _Main()
    Local $YesID, $NoID, $ExitID, $msg

    GUICreate("Custom Msgbox", 210, 80)

    GUICtrlCreateLabel("Please click a button!", 10, 10)
    $YesID = GUICtrlCreateButton("Yes", 10, 50, 50, 20)
    $NoID = GUICtrlCreateButton("Internet", 80, 50, 50, 20)
    $ExitID = GUICtrlCreateButton("Exit", 150, 50, 50, 20)

    GUISetState()  ; display the GUI

    While 1
        $msg = GUIGetMsg()
        Select
            Case $msg = $YesID
                MsgBox(0, "You clicked on", "Yes")
            Case $msg = $NoID
                _IECreate("https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=5EFCDJCQQ9V34&lc=CA&item_name=AntiPorno%20Win%20%2d%20Achat%20a%20vie&amount=1%2e00&currency_code=EUR&button_subtype=services&bn=PP%2dBuyNowBF%3abtn_buynowCC_LG%2egif%3aNonHosted")

           Case $msg = $ExitID
                MsgBox(0, "You clicked on", "Exit")
                Exit
            Case $msg = $GUI_EVENT_CLOSE
                MsgBox(0, "You clicked on", "Close")
                Exit
        EndSelect
    WEnd
EndFunc   ;==>_Main
 

Re: [..] Freeze du gui avec _IECreate

Posté : dim. 01 août 2010 20:10
par networe
Oui en fait ca bug car j'envoi sur un lien de téléchargement direct et non une page

Re: [..] Freeze du gui avec _IECreate

Posté : lun. 02 août 2010 10:55
par SrBelial
sans doute existe il une solution plus élégante ....
je pense que pour un téléchargement direct la fonction inetget(http://monsite/monDDL.zip, "C:\Telechargements\monDDL.zip") sera plus appropriée non ?