Voici mon pb (la suite du poste IE7 qq fils en dessous).
Ds 1 form j'ai incorporé un webbrowser afin de lancer une page php. L'action
submit sur le bouton de la page php envoie des données vers un serveur web.
Cette meme action sur le bouton Submit génère un msgbox qui vient confirmer
la réussite de l'opération. Mon pb est que l'ensemble de la procédure doit
tourner en boucle et que je ne parviens pas à valider ou me débarasser de la
msgbox de confirmation de transaction, ce qui bloque evidemment ma routine.
Voici un extrait de mon code:
..............
WebBrowser1.Document.All("IDS").Value = a
WebBrowser1.Document.All("QUANT").Value = "80000"
t = WebBrowser1.hwnd
For x = 0 To WebBrowser1.Document.Forms.length - 1
For l = 0 To
WebBrowser1.Document.Forms(x).elements.length - 1
If WebBrowser1.Document.Forms(x).elements(l).Type =
"submit" Then
WebBrowser1.Document.Forms(x).elements(l).Click
<<<<<<<<------------ C'est apres cette action que mon msgbox de confirmation
apparait
hb_sec_sleep (1)
unlong = getforegroundwindow <<<-------
curiosité: le handle récupéré ici est constamment "0". Pour moi il
représente le handle de la msgbox mais j'en suis pas sur ....
SendKeys ("Enter"), 1 <<<<<<<<<-----------------
marche pas !!!!
hb_sec_sleep (1)
Exit For
End If
Next l
Next x
...................
J'ai tenté un sendkeys ("Enter"),1 sur ce msgbox mais ca ne donne rien. Et
pourtant ce msgbox a le focus et le bouton OK de la msgbox est actif.
Je me demande si le fait que ce msgbox soit lancé par le webbrowser fait que
le focus ne se trouve pas sur le msgbox mais sur le webbrowser lui meme.
Avez vous une idée pour me sortir de cette impasse ?
Ca m'ennerve car j'ai passé des heures sur ce prg et je suis coincé sur un
"petit" détail ....
Merci à vous
Dom
nb: je suis pas une bête en VB, pitié, ne m'assassinez pas avec des trucs de
fou ... :-)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
teddy
SPY++ (VisualStudio enterprise) peut t'aider pour connaître/manipuler les handles d'objets fenêtre, contrôles VB divers.
"Dom" a écrit dans le message de news: uk%
Bonsoir à tous,
Voici mon pb (la suite du poste IE7 qq fils en dessous). Ds 1 form j'ai incorporé un webbrowser afin de lancer une page php. L'action submit sur le bouton de la page php envoie des données vers un serveur web. Cette meme action sur le bouton Submit génère un msgbox qui vient confirmer la réussite de l'opération. Mon pb est que l'ensemble de la procédure doit tourner en boucle et que je ne parviens pas à valider ou me débarasser de la msgbox de confirmation de transaction, ce qui bloque evidemment ma routine.
Voici un extrait de mon code:
.............. WebBrowser1.Document.All("IDS").Value = a WebBrowser1.Document.All("QUANT").Value = "80000" t = WebBrowser1.hwnd
For x = 0 To WebBrowser1.Document.Forms.length - 1 For l = 0 To WebBrowser1.Document.Forms(x).elements.length - 1 If WebBrowser1.Document.Forms(x).elements(l).Type = "submit" Then WebBrowser1.Document.Forms(x).elements(l).Click <<<<<<<<------------ C'est apres cette action que mon msgbox de confirmation apparait hb_sec_sleep (1) unlong = getforegroundwindow <<<------- curiosité: le handle récupéré ici est constamment "0". Pour moi il représente le handle de la msgbox mais j'en suis pas sur .... SendKeys ("Enter"), 1 <<<<<<<<<----------------- marche pas !!!! hb_sec_sleep (1) Exit For End If Next l Next x ...................
J'ai tenté un sendkeys ("Enter"),1 sur ce msgbox mais ca ne donne rien. Et pourtant ce msgbox a le focus et le bouton OK de la msgbox est actif. Je me demande si le fait que ce msgbox soit lancé par le webbrowser fait que le focus ne se trouve pas sur le msgbox mais sur le webbrowser lui meme. Avez vous une idée pour me sortir de cette impasse ? Ca m'ennerve car j'ai passé des heures sur ce prg et je suis coincé sur un "petit" détail ....
Merci à vous
Dom
nb: je suis pas une bête en VB, pitié, ne m'assassinez pas avec des trucs de fou ... :-)
SPY++ (VisualStudio enterprise) peut t'aider pour connaître/manipuler les handles d'objets fenêtre,
contrôles VB divers.
"Dom" <laurentPASDESPAMdom@free.fr> a écrit dans le message de news:
uk%23fgqaDHHA.3600@TK2MSFTNGP06.phx.gbl...
Bonsoir à tous,
Voici mon pb (la suite du poste IE7 qq fils en dessous).
Ds 1 form j'ai incorporé un webbrowser afin de lancer une page php. L'action submit sur le bouton
de la page php envoie des données vers un serveur web. Cette meme action sur le bouton Submit
génère un msgbox qui vient confirmer la réussite de l'opération. Mon pb est que l'ensemble de la
procédure doit tourner en boucle et que je ne parviens pas à valider ou me débarasser de la msgbox
de confirmation de transaction, ce qui bloque evidemment ma routine.
Voici un extrait de mon code:
..............
WebBrowser1.Document.All("IDS").Value = a
WebBrowser1.Document.All("QUANT").Value = "80000"
t = WebBrowser1.hwnd
For x = 0 To WebBrowser1.Document.Forms.length - 1
For l = 0 To WebBrowser1.Document.Forms(x).elements.length - 1
If WebBrowser1.Document.Forms(x).elements(l).Type = "submit" Then
WebBrowser1.Document.Forms(x).elements(l).Click <<<<<<<<------------
C'est apres cette action que mon msgbox de confirmation apparait
hb_sec_sleep (1)
unlong = getforegroundwindow <<<------- curiosité: le handle récupéré
ici est constamment "0". Pour moi il représente le handle de la msgbox mais j'en suis pas sur ....
SendKeys ("Enter"), 1 <<<<<<<<<----------------- marche pas !!!!
hb_sec_sleep (1)
Exit For
End If
Next l
Next x
...................
J'ai tenté un sendkeys ("Enter"),1 sur ce msgbox mais ca ne donne rien. Et pourtant ce msgbox a le
focus et le bouton OK de la msgbox est actif.
Je me demande si le fait que ce msgbox soit lancé par le webbrowser fait que le focus ne se trouve
pas sur le msgbox mais sur le webbrowser lui meme.
Avez vous une idée pour me sortir de cette impasse ?
Ca m'ennerve car j'ai passé des heures sur ce prg et je suis coincé sur un "petit" détail ....
Merci à vous
Dom
nb: je suis pas une bête en VB, pitié, ne m'assassinez pas avec des trucs de fou ... :-)
SPY++ (VisualStudio enterprise) peut t'aider pour connaître/manipuler les handles d'objets fenêtre, contrôles VB divers.
"Dom" a écrit dans le message de news: uk%
Bonsoir à tous,
Voici mon pb (la suite du poste IE7 qq fils en dessous). Ds 1 form j'ai incorporé un webbrowser afin de lancer une page php. L'action submit sur le bouton de la page php envoie des données vers un serveur web. Cette meme action sur le bouton Submit génère un msgbox qui vient confirmer la réussite de l'opération. Mon pb est que l'ensemble de la procédure doit tourner en boucle et que je ne parviens pas à valider ou me débarasser de la msgbox de confirmation de transaction, ce qui bloque evidemment ma routine.
Voici un extrait de mon code:
.............. WebBrowser1.Document.All("IDS").Value = a WebBrowser1.Document.All("QUANT").Value = "80000" t = WebBrowser1.hwnd
For x = 0 To WebBrowser1.Document.Forms.length - 1 For l = 0 To WebBrowser1.Document.Forms(x).elements.length - 1 If WebBrowser1.Document.Forms(x).elements(l).Type = "submit" Then WebBrowser1.Document.Forms(x).elements(l).Click <<<<<<<<------------ C'est apres cette action que mon msgbox de confirmation apparait hb_sec_sleep (1) unlong = getforegroundwindow <<<------- curiosité: le handle récupéré ici est constamment "0". Pour moi il représente le handle de la msgbox mais j'en suis pas sur .... SendKeys ("Enter"), 1 <<<<<<<<<----------------- marche pas !!!! hb_sec_sleep (1) Exit For End If Next l Next x ...................
J'ai tenté un sendkeys ("Enter"),1 sur ce msgbox mais ca ne donne rien. Et pourtant ce msgbox a le focus et le bouton OK de la msgbox est actif. Je me demande si le fait que ce msgbox soit lancé par le webbrowser fait que le focus ne se trouve pas sur le msgbox mais sur le webbrowser lui meme. Avez vous une idée pour me sortir de cette impasse ? Ca m'ennerve car j'ai passé des heures sur ce prg et je suis coincé sur un "petit" détail ....
Merci à vous
Dom
nb: je suis pas une bête en VB, pitié, ne m'assassinez pas avec des trucs de fou ... :-)
Francois Picalausa
Hello,
<réponse inline>
"Dom" wrote in message news:uk%
Bonsoir à tous,
<snip> la réussite de l'opération. Mon pb est que l'ensemble de la procédure doit tourner en boucle et que je ne parviens pas à valider ou me débarasser de la msgbox de confirmation de transaction, ce qui bloque evidemment ma routine. <snip le reste>
A tout hasard, est-ce que en définissant la propriété silent de ton webbrowser à "true", ça n'aiderait pas? (soit en design time, soit en runtime par: MyWebBrowser.Silent = True )
Sinon, au travers du DOM, tu devrais pouvoir accéder au javascript et supprimer les parties qui t'embètent...
Dom
nb: je suis pas une bête en VB, pitié, ne m'assassinez pas avec des trucs de fou ... :-)
S'il y a une bête en VB ici, qu'elle se dénonce!
<private joke> On a tout débuté un jour... On a tous hardcodé des path un jour... On a tous utilisé la base de registre un jour... On a tous utilisé FSO... non ça jamais! </private joke>
François
Hello,
<réponse inline>
"Dom" <laurentPASDESPAMdom@free.fr> wrote in message
news:uk%23fgqaDHHA.3600@TK2MSFTNGP06.phx.gbl...
Bonsoir à tous,
<snip>
la réussite de l'opération. Mon pb est que l'ensemble de la procédure doit
tourner en boucle et que je ne parviens pas à valider ou me débarasser de
la msgbox de confirmation de transaction, ce qui bloque evidemment ma
routine.
<snip le reste>
A tout hasard, est-ce que en définissant la propriété silent de ton
webbrowser à "true", ça n'aiderait pas?
(soit en design time, soit en runtime par:
MyWebBrowser.Silent = True
)
Sinon, au travers du DOM, tu devrais pouvoir accéder au javascript et
supprimer les parties qui t'embètent...
Dom
nb: je suis pas une bête en VB, pitié, ne m'assassinez pas avec des trucs
de fou ... :-)
S'il y a une bête en VB ici, qu'elle se dénonce!
<private joke>
On a tout débuté un jour...
On a tous hardcodé des path un jour...
On a tous utilisé la base de registre un jour...
On a tous utilisé FSO... non ça jamais!
</private joke>
<snip> la réussite de l'opération. Mon pb est que l'ensemble de la procédure doit tourner en boucle et que je ne parviens pas à valider ou me débarasser de la msgbox de confirmation de transaction, ce qui bloque evidemment ma routine. <snip le reste>
A tout hasard, est-ce que en définissant la propriété silent de ton webbrowser à "true", ça n'aiderait pas? (soit en design time, soit en runtime par: MyWebBrowser.Silent = True )
Sinon, au travers du DOM, tu devrais pouvoir accéder au javascript et supprimer les parties qui t'embètent...
Dom
nb: je suis pas une bête en VB, pitié, ne m'assassinez pas avec des trucs de fou ... :-)
S'il y a une bête en VB ici, qu'elle se dénonce!
<private joke> On a tout débuté un jour... On a tous hardcodé des path un jour... On a tous utilisé la base de registre un jour... On a tous utilisé FSO... non ça jamais! </private joke>
François
ecappannelli
Ah, oui (j'ai répondu à l'autre message), si le JS est dans la page que tu charges, tu as tout loisir de 'bricoler' la page pour que ce message n'existe plus. Envoie le code source, ça pourra peut être aider.
Sinon, pourquoi dire du mal de FSO ?
A+
Francois Picalausa a écrit :
Hello,
<réponse inline>
"Dom" wrote in message news:uk% > Bonsoir à tous, > > <snip> > la réussite de l'opération. Mon pb est que l'ensemble de la procé dure doit > tourner en boucle et que je ne parviens pas à valider ou me débaras ser de > la msgbox de confirmation de transaction, ce qui bloque evidemment ma > routine. > <snip le reste>
A tout hasard, est-ce que en définissant la propriété silent de ton webbrowser à "true", ça n'aiderait pas? (soit en design time, soit en runtime par: MyWebBrowser.Silent = True )
Sinon, au travers du DOM, tu devrais pouvoir accéder au javascript et supprimer les parties qui t'embètent...
> > Dom > > nb: je suis pas une bête en VB, pitié, ne m'assassinez pas avec des trucs > de fou ... :-)
S'il y a une bête en VB ici, qu'elle se dénonce!
<private joke> On a tout débuté un jour... On a tous hardcodé des path un jour... On a tous utilisé la base de registre un jour... On a tous utilisé FSO... non ça jamais! </private joke>
François
Ah, oui (j'ai répondu à l'autre message), si le JS est dans la page
que tu charges, tu as tout loisir de 'bricoler' la page pour que ce
message n'existe plus.
Envoie le code source, ça pourra peut être aider.
Sinon, pourquoi dire du mal de FSO ?
A+
Francois Picalausa a écrit :
Hello,
<réponse inline>
"Dom" <laurentPASDESPAMdom@free.fr> wrote in message
news:uk%23fgqaDHHA.3600@TK2MSFTNGP06.phx.gbl...
> Bonsoir à tous,
>
> <snip>
> la réussite de l'opération. Mon pb est que l'ensemble de la procé dure doit
> tourner en boucle et que je ne parviens pas à valider ou me débaras ser de
> la msgbox de confirmation de transaction, ce qui bloque evidemment ma
> routine.
> <snip le reste>
A tout hasard, est-ce que en définissant la propriété silent de ton
webbrowser à "true", ça n'aiderait pas?
(soit en design time, soit en runtime par:
MyWebBrowser.Silent = True
)
Sinon, au travers du DOM, tu devrais pouvoir accéder au javascript et
supprimer les parties qui t'embètent...
>
> Dom
>
> nb: je suis pas une bête en VB, pitié, ne m'assassinez pas avec des trucs
> de fou ... :-)
S'il y a une bête en VB ici, qu'elle se dénonce!
<private joke>
On a tout débuté un jour...
On a tous hardcodé des path un jour...
On a tous utilisé la base de registre un jour...
On a tous utilisé FSO... non ça jamais!
</private joke>
Ah, oui (j'ai répondu à l'autre message), si le JS est dans la page que tu charges, tu as tout loisir de 'bricoler' la page pour que ce message n'existe plus. Envoie le code source, ça pourra peut être aider.
Sinon, pourquoi dire du mal de FSO ?
A+
Francois Picalausa a écrit :
Hello,
<réponse inline>
"Dom" wrote in message news:uk% > Bonsoir à tous, > > <snip> > la réussite de l'opération. Mon pb est que l'ensemble de la procé dure doit > tourner en boucle et que je ne parviens pas à valider ou me débaras ser de > la msgbox de confirmation de transaction, ce qui bloque evidemment ma > routine. > <snip le reste>
A tout hasard, est-ce que en définissant la propriété silent de ton webbrowser à "true", ça n'aiderait pas? (soit en design time, soit en runtime par: MyWebBrowser.Silent = True )
Sinon, au travers du DOM, tu devrais pouvoir accéder au javascript et supprimer les parties qui t'embètent...
> > Dom > > nb: je suis pas une bête en VB, pitié, ne m'assassinez pas avec des trucs > de fou ... :-)
S'il y a une bête en VB ici, qu'elle se dénonce!
<private joke> On a tout débuté un jour... On a tous hardcodé des path un jour... On a tous utilisé la base de registre un jour... On a tous utilisé FSO... non ça jamais! </private joke>
François
Dom
Bonjour Francois,
Et merci de ton aide. Helas le webbrowser.silent ne donne rien. Je pense que la seule solution est de passer par la capture du handle du pop-up. Mais alors .... avant que je parvienne à ca !!! Les qq codes que j'ai pu voir st de veritables usines à gaz (enfin pour moi). FSO ????? Qu'est ce qu'il a le FSO ??? Je l'ai tres souvent utilisé !! Et sans trop de pb pour un resultat efficace. :-)
Encore merci,
Dom
Bonjour Francois,
Et merci de ton aide.
Helas le webbrowser.silent ne donne rien.
Je pense que la seule solution est de passer par la capture du handle du
pop-up. Mais alors .... avant que je parvienne à ca !!!
Les qq codes que j'ai pu voir st de veritables usines à gaz (enfin pour
moi).
FSO ????? Qu'est ce qu'il a le FSO ??? Je l'ai tres souvent utilisé !! Et
sans trop de pb pour un resultat efficace. :-)
Et merci de ton aide. Helas le webbrowser.silent ne donne rien. Je pense que la seule solution est de passer par la capture du handle du pop-up. Mais alors .... avant que je parvienne à ca !!! Les qq codes que j'ai pu voir st de veritables usines à gaz (enfin pour moi). FSO ????? Qu'est ce qu'il a le FSO ??? Je l'ai tres souvent utilisé !! Et sans trop de pb pour un resultat efficace. :-)