|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2782
|
[VB6] Problema con WebBrowser
Ho creato un programmino che fa da autosurf (visita determinate pagine con tempi prefissati tutto da solo). Il problema è che ogni volta che il programma apre una nuova pagina se il programma è stato ridotto a icona si ripristina e si mette in primo piano diventando fastidioso. C'è un modo per impedirglielo e farlo restare ridotto a icona? Grazie mille!
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2782
|
Uppo..
|
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: May 2006
Messaggi: 71
|
Quote:
Mi pare di ricordare che WebBrowser non funziona se il form e' invisibile.... Allora potresti fare cosi': - PRIMA di caricare una nuova pagina, imposti la proprieta' Top del form su cui e' presente il WebBrowser ad un valore come -10000 (cosi' rimane fuori schermo e non e' visibile); - carichi la pagina; - reimposti WindowState a vbMinimized; - quando hai finito tutte le pagine ripristini Top e WindowState; Puo' esserti utile ??? Ciao ! |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2782
|
Grazie mille x la risposta. Il problema è che il form lo voglio poter vedere, cioè, se non l'ho minimizzato io non vorrei facesse tutte queste operazione, il problema si pone solo quando l'utente l'ha ridotto a icona. Se si potesse intercettare quando l'utente lo riduce a icona si potrebbe fare.. ma mi sa che non si può..
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2782
|
UP
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2782
|
UP
|
|
|
|
|
|
#7 | |
|
Member
Iscritto dal: May 2006
Messaggi: 71
|
Quote:
Certo che si puo': c'e' l'evento Resize che viene generato in questi casi ! Codice:
Private Sub Form_Resize
If Me.WindowState = vbMinimized Then
' qui il codice da eseguire quando la finestra viene minimizzata...
End If
End Sub
|
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2782
|
Ciao, provando a fare quello che mi hai detto mi si è presentato il problema opposto, cioè devo intercettare quando l'utente clicca sull'icona per far riaprire la finestra, infatti se uso l'evento resize non posso distinguere se è stato l'utente a cliccare sull'icona o se è stato il webbrowser a far ingrandire la finestra.
X evitare che la finestra stia in primo piano ho trovato questa api: http://www.allapi.net/apilist/SetWindowPos.shtml |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2782
|
Non ho ancora trovato la soluzione!
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2782
|
Allora, faccio un piccolo riassunto:
- il programma salta fuori non ogni volta che il webbrowser carica una pagina ma solo a volte (forse quando nella pagina ci sono dei frame ma non ne sono sicuro) - come ha detto icecube quando il webbrowser è invisibile non funziona - il programma non deve stare sempre nascosto, semplicemente non deve apparire da solo dopo che l'ho ridotto a icona Non c'è un modo x bloccare lo stato di una finestra e di sbloccarlo solo quando clicco sull'icona? Così potrei fare una cosa del genere: Codice:
Private Sub Form_Resize
If Me.WindowState = vbMinimized Then
'blocco lo stato della finestra
exit sub
End If
'sblocco lo stato della finestra
End Sub
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2782
|
Allora, ho trovato una soluzione (per niente elegante) ma funzionante, si ispira un po' a quello che mi ha consigliato icecube. Ve la posto qui:
Codice:
Private Sub Form_Resize()
If Me.WindowState = vbMinimized Then
If ridIcona = True Then
Me.WindowState = vbNormal
Me.top = topRec
Me.WindowState = vbMaximized
ridIcona = False
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
SetWindowPos Me.hwnd, HWND_TOP, 0, 0, 0, 0, SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
Else
Me.WindowState = vbNormal
topRec = Me.top
Me.top = 30000
ridIcona = True
End If
Exit Sub
End If
End Sub
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:51.



















