Oppure

Loading
09/01/11 18:26
alecorce
Salve, sono un nuovo utente su questo forum. Ho un problema con VB6, in quanto sto realizzando un software che è in grado di compilare in maniera automatica dei campi text presenti in alcune pagine web e confermarli. Il problema è che la conferma poi produce una finestra separata dal Web Browser (una specie di popup, per intenerci), che non riesco a gestire. Vorrei quindi sapere come interagire anche con la nuova finestra attraverso codice. Ho trovato sul Web qualcosa relativo al metodo NewWindow2 di cui però non ho capito molto. Vi ringrazio in anticipo per l'interesse.
aaa
10/01/11 19:05
GrG
presumo che tu lavori con il componente web browser integrato in vb, giusto?
aaa
10/01/11 20:41
alecorce
E' chiaro. L'ho anche scritto nel titolo. Sto lavorando con il componente Web Browser di VB6, e vorrei delle delucidazioni sul metodo wbBrowser_NewWindow2(ppDisp As Object, Cancel As Boolean) che dovrebbe servire per gestire le nuove finestre che si aprono con alcuni link.
aaa
11/01/11 14:51
GrG
si è abbastanza chiaro, ma da vb6 si possono gestire anche finestre esterne di un altro browser quale ad esempio ie, quindi ho chiesto...

Si è vero con quella sub agisci sulla finestra popup che si apre... però (almeno per quanto ne so) non puoi fare quasi nulla perchè vai fuori da vb, dipende da ciò che devi fare su questa finestra popup...

La cosa migliore sarebbe fare in modo di vedere (o meglio "catturare";) l'indirizzo della popup e caricare il tutto nella finestra principale del webbrowser dal quale poi gestirla...

Quindi quello che serve sapere è cosa dovresti fare su questa finestra popup
aaa
11/01/11 16:51
alecorce
Si, anche io sono d'accordo che non si potrà fare granchè a questa finestra popup, comunque quello che dici riguardo il "catturare l'indirizzo della popup", in un certo qual modo, riesco a farlo; il problema è che se la trasferisco sul web browser non funziona più correttamente, probabilmente perchè ci sono delle chiamate di metodi (presumo in Java script) all'interno di questa pagina che si avviano premento un pulsante. Mi chiedo dunque: è possibile dare un comando di invio (cioè col tanto enter della tastiera) direttamente nella finestra popup? Io ho provato a farlo indirettamente con la funzione sendkeys ma questo implica che, se la finestra in questione non è attiva, non funziona. C'è un modo per risolvere almeno questo problema?
aaa
11/01/11 21:05
GrG
devi ridare il focus alla finestra popup... guarda se questo ti può aiutare:

sorgentivb6.altervista.org/blog/
sorgentivb6.altervista.org/blog/
aaa
12/01/11 17:30
alecorce
...Capisco...pensavo ci fosse qualcosa di più specifico. La SendKeys gradirei proprio evitare di utilizzarla. Possibile che non ci siano informazioni riguardo questo metodo: wbBrowser_NewWindow2(ppDisp As Object, Cancel As Boolean) ? Non capisco a cosa serva la variabile ppDisp; VB6 lo uso da tempo ma solitamente non uso variabili ti tipo Object. Può darsi che dallo studio di questa è possibile dedurne qualche piacevole conclusione...Comunque grazie davvero per l'interesse!
aaa
12/01/11 19:02
GrG
Anche se è un tentativo disperato prova a vedere se ppDisp supporta il Document Object Model...

Adesso purtroppo non mi viene in mente un modo per verificarlo, però se funzionasse per simulare la premuta del pulsante dovresti scrivere tipo:

ppDisp.Document.NomeFormDati.submit

In realtà questo codice non simula la pressione del pulsante ma invia il modulo(form) con i dati che generalmente vengono inviati tramite pulsante (es. un login)
aaa