alecorce (Normal User)
Newbie
Messaggi: 6
Iscritto: 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.
|
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
presumo che tu lavori con il componente web browser integrato in vb, giusto?
|
|
alecorce (Normal User)
Newbie
Messaggi: 6
Iscritto: 09/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.
|
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
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
|
|
alecorce (Normal User)
Newbie
Messaggi: 6
Iscritto: 09/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?
|
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
|
|
alecorce (Normal User)
Newbie
Messaggi: 6
Iscritto: 09/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!
|
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
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)
|
|
alecorce (Normal User)
Newbie
Messaggi: 6
Iscritto: 09/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...
|
|