Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Web Browser VB6: gestire nuove finestre
Forum - Visual Basic 6 - Web Browser VB6: gestire nuove finestre

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
alecorce (Normal User)
Newbie


Messaggi: 6
Iscritto: 09/01/2011

Segnala al moderatore
Postato alle 19:26
Domenica, 09/01/2011
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.

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 20:05
Lunedì, 10/01/2011
presumo che tu lavori con il componente web browser integrato in vb, giusto?

PM Quote
Avatar
alecorce (Normal User)
Newbie


Messaggi: 6
Iscritto: 09/01/2011

Segnala al moderatore
Postato alle 21:41
Lunedì, 10/01/2011
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.

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 15:51
Martedì, 11/01/2011
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

PM Quote
Avatar
alecorce (Normal User)
Newbie


Messaggi: 6
Iscritto: 09/01/2011

Segnala al moderatore
Postato alle 17:51
Martedì, 11/01/2011
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?

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 22:05
Martedì, 11/01/2011
devi ridare il focus alla finestra popup... guarda se questo ti può aiutare:

http://sorgentivb6.altervista.org/blog/?p=351
http://sorgentivb6.altervista.org/blog/?p=270

PM Quote
Avatar
alecorce (Normal User)
Newbie


Messaggi: 6
Iscritto: 09/01/2011

Segnala al moderatore
Postato alle 18:30
Mercoledì, 12/01/2011
...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!

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 20:02
Mercoledì, 12/01/2011
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)

PM Quote
Avatar
alecorce (Normal User)
Newbie


Messaggi: 6
Iscritto: 09/01/2011

Segnala al moderatore
Postato alle 21:56
Mercoledì, 12/01/2011
No, assolutamente...Non supporta proprio nulla. Ho comunque effettuato il debug e se passo col mouse sulla variabile ppDisp mi dice "Nothing". Ho anche saputo che il componente Web Browser non è nemmeno opportunamente documentato quindi molti suoi aspetti rimaranno oscuri. Non so proprio a chi mi devo rivolgere...uff...

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo