Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.lang.visual-basic > #18886 > unrolled thread
| Started by | Greg <greg@alicie.com> |
|---|---|
| First post | 2016-11-03 11:35 +0100 |
| Last post | 2016-11-04 23:43 +0100 |
| Articles | 10 — 2 participants |
Back to article view | Back to it.comp.lang.visual-basic
Come forzare la chiusura di un mio oggetto? Greg <greg@alicie.com> - 2016-11-03 11:35 +0100
Re: Come forzare la chiusura di un mio oggetto? Franz_aRTiglio <franzgol@N0SPAMtin.it> - 2016-11-03 19:16 +0100
Re: Come forzare la chiusura di un mio oggetto? Greg <greg@alicie.com> - 2016-11-03 20:01 +0100
Re: Come forzare la chiusura di un mio oggetto? Franz_aRTiglio <franzgol@N0SPAMtin.it> - 2016-11-03 21:15 +0100
Re: Come forzare la chiusura di un mio oggetto? Greg <greg@alicie.com> - 2016-11-03 22:33 +0100
Re: Come forzare la chiusura di un mio oggetto? Greg <greg@alicie.com> - 2016-11-03 23:21 +0100
Re: Come forzare la chiusura di un mio oggetto? Greg <greg@alicie.com> - 2016-11-04 15:15 +0100
Re: Come forzare la chiusura di un mio oggetto? Franz_aRTiglio <franzgol@N0SPAMtin.it> - 2016-11-04 16:48 +0100
Re: Come forzare la chiusura di un mio oggetto? Greg <greg@alicie.com> - 2016-11-04 20:03 +0100
Re: Come forzare la chiusura di un mio oggetto? Greg <greg@alicie.com> - 2016-11-04 23:43 +0100
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2016-11-03 11:35 +0100 |
| Subject | Come forzare la chiusura di un mio oggetto? |
| Message-ID | <nvf3tc$nga$1@solani.org> |
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
Navigate...
Quit
Se dopo qualche secondo pigio di nuovo il bottone per ricrearlo ottengo:
Errore di automazione. Arresto sistema già pianificato.
Come fare perchè l'oggetto si chiuda immediatamente?
Avrei anche pensato di metterlo Invisible invece di chiuderlo, purtroppo alla seconda chiamata non c'è modo di portarlo
in primo piano: non funziona SetFocus e neanche ZOrder.
Grazie per ogni info
--
Greg
[toc] | [next] | [standalone]
| From | Franz_aRTiglio <franzgol@N0SPAMtin.it> |
|---|---|
| Date | 2016-11-03 19:16 +0100 |
| Message-ID | <nvfutl$1nvv$1@gioia.aioe.org> |
| In reply to | #18886 |
Sembra che Greg abbia detto :
> Dim IE As Object
> Set IE = CreateObject("InternetExplorer.Application")
>
> Navigate...
> Quit
>
> Se dopo qualche secondo pigio di nuovo il bottone per ricrearlo ottengo:
> Errore di automazione. Arresto sistema già pianificato.
>
> Come fare perchè l'oggetto si chiuda immediatamente?
Andando a memoria :
Set IE = Nothing
Sempre a memoria:
If IE <> Nothing then ' oggetto non chiuso
[toc] | [prev] | [next] | [standalone]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2016-11-03 20:01 +0100 |
| Message-ID | <nvg1ig$d50$1@solani.org> |
| In reply to | #18887 |
Il 03/11/2016 19:16:46 Franz_aRTiglio ha scritto: > Andando a memoria : > > Set IE = Nothing > > Sempre a memoria: > > If IE <> Nothing then ' oggetto non chiuso Grazie Artiglio, è proprio cosi. Ma adesso ho un comportamento strano: quando lancio il browser appare giustamente in primo piano, ma nel compilato mi rimane invece in secondo piano. Setfocus non va, allora ho provato con SendMessage ma non sembra funzionare: k = SendMessage(IE.hwnd, WM_SETFOCUS, 0&, 0&) Ti viene in mente qualcosa? Grazie ancora :) -- Greg
[toc] | [prev] | [next] | [standalone]
| From | Franz_aRTiglio <franzgol@N0SPAMtin.it> |
|---|---|
| Date | 2016-11-03 21:15 +0100 |
| Message-ID | <nvg5s5$45b$1@gioia.aioe.org> |
| In reply to | #18888 |
Greg ha pensato forte : > Ma adesso ho un comportamento strano: quando lancio il browser appare > giustamente in primo piano, ma nel compilato mi rimane invece in secondo > piano. > Setfocus non va, allora ho provato con SendMessage ma non sembra funzionare: > k = SendMessage(IE.hwnd, WM_SETFOCUS, 0&, 0&) L'hai reso visibile ? IE.Visible = True Altrimenti è ovvio che setfocus fallisce....
[toc] | [prev] | [next] | [standalone]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2016-11-03 22:33 +0100 |
| Message-ID | <nvgaem$jsq$1@solani.org> |
| In reply to | #18889 |
Il 03/11/2016 21:15:26 Franz_aRTiglio ha scritto: > Greg ha pensato forte : > >> Ma adesso ho un comportamento strano: quando lancio il browser appare giustamente in primo piano, ma nel compilato >> mi rimane invece in secondo piano. >> Setfocus non va, allora ho provato con SendMessage ma non sembra funzionare: >> k = SendMessage(IE.hwnd, WM_SETFOCUS, 0&, 0&) > > L'hai reso visibile ? > > IE.Visible = True > > Altrimenti è ovvio che setfocus fallisce.... Certo, infatti lo vedo anche. L'errore è Proprietà o metodo non supportato dall'oggetto. Infatti andando a vedere alla fonte, il SetFocus non c'è, per questo mi ero messo ad usare SendMessage, che però non da risultati, per adesso. https://msdn.microsoft.com/en-us/library/aa752084(v=vs.85).aspx -- Greg
[toc] | [prev] | [next] | [standalone]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2016-11-03 23:21 +0100 |
| Message-ID | <nvgd9k$lqc$1@solani.org> |
| In reply to | #18890 |
Il 03/11/2016 22:33:06 Greg ha scritto:
>> L'hai reso visibile ?
>>
>> IE.Visible = True
>>
>> Altrimenti è ovvio che setfocus fallisce....
>
> Certo, infatti lo vedo anche.
> L'errore è Proprietà o metodo non supportato dall'oggetto.
> Infatti andando a vedere alla fonte, il SetFocus non c'è, per questo mi ero messo ad usare SendMessage, che però non
> da risultati, per adesso.
>
> https://msdn.microsoft.com/en-us/library/aa752084(v=vs.85).aspx
Riassumo
premesso che creo la finestra browser in questo modo:
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
Ho usato la SendMessage con l'handle di un mio form in secondo piano e il focus viene inviato.
Quidi ho usato la sendmessage sia con l'handle dell'oggetto IE, sia con l'handle dell'oggetto "Internet Explorer" ma il
focus non viene ancora inviato.
Domani proverò ancora, anche se adesso non so bene cosa
--
Greg
[toc] | [prev] | [next] | [standalone]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2016-11-04 15:15 +0100 |
| Message-ID | <nvi56m$lmt$1@solani.org> |
| In reply to | #18889 |
Il 03/11/2016 21:15:26 Franz_aRTiglio ha scritto:
> L'hai reso visibile ?
>
> IE.Visible = True
>
> Altrimenti è ovvio che setfocus fallisce....
Dopo la SendMessage ho provato oggi con SetActiveWindow, mi restituisce 0, in progettazione porta la finestra di
explorer in primo piano, ma dopo aver compilato non più. Non so più cosa fare, da cosa può dipendere? Grazie a tutti
Private Sub Command5_Click()
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Left = 200
IE.Top = 400
IE.Navigate "https://www.google.it/maps/place/Via+Nicolò+Tommaseo+15,+Brescia,+BS,+25100"
r = SetActiveWindow(IE.hwnd)
End Sub
--
Greg
[toc] | [prev] | [next] | [standalone]
| From | Franz_aRTiglio <franzgol@N0SPAMtin.it> |
|---|---|
| Date | 2016-11-04 16:48 +0100 |
| Message-ID | <nviair$17vp$1@gioia.aioe.org> |
| In reply to | #18893 |
Il 04/11/2016, Greg ha detto : > Dopo la SendMessage ho provato oggi con SetActiveWindow, mi restituisce 0, in > progettazione porta la finestra di explorer in primo piano, ma dopo aver > compilato non più. Non so più cosa fare, da cosa può dipendere? Grazie a > tutti Sempre se non ricordo male: SetActiveWindow funziona per attivare la finestra SE questa e' già in primo piano (come quando ci sono piu finestre affiancate), quello che devi usare è SetForegroundWindow <http://visualbasic.happycodings.com/applications-vba/code5.html>
[toc] | [prev] | [next] | [standalone]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2016-11-04 20:03 +0100 |
| Message-ID | <nvim2c$2dn$1@solani.org> |
| In reply to | #18895 |
Il 04/11/2016 16:48:05 Franz_aRTiglio ha scritto: > Il 04/11/2016, Greg ha detto : > >> Dopo la SendMessage ho provato oggi con SetActiveWindow, mi restituisce 0, in progettazione porta la finestra di >> explorer in primo piano, ma dopo aver compilato non più. Non so più cosa fare, da cosa può dipendere? Grazie a >> tutti > > Sempre se non ricordo male: SetActiveWindow funziona per attivare la > finestra SE questa e' già in primo piano (come quando ci sono piu > finestre affiancate), quello che devi usare è SetForegroundWindow > > <http://visualbasic.happycodings.com/applications-vba/code5.html> NOn sono riuscito ad usarla, domani proverò di nuovo -- Greg
[toc] | [prev] | [next] | [standalone]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2016-11-04 23:43 +0100 |
| Message-ID | <nvj2u3$bot$1@solani.org> |
| In reply to | #18895 |
Il 04/11/2016 16:48:05 Franz_aRTiglio ha scritto: > Il 04/11/2016, Greg ha detto : > >> Dopo la SendMessage ho provato oggi con SetActiveWindow, mi restituisce 0, in progettazione porta la finestra di >> explorer in primo piano, ma dopo aver compilato non più. Non so più cosa fare, da cosa può dipendere? Grazie a >> tutti > > Sempre se non ricordo male: SetActiveWindow funziona per attivare la > finestra SE questa e' già in primo piano (come quando ci sono piu > finestre affiancate), quello che devi usare è SetForegroundWindow > > <http://visualbasic.happycodings.com/applications-vba/code5.html> Ok, sono riuscito ad usarla a dovere, questa riporta il mio oggetto explorer in primo piano, senza ricorrere ad altre api Grazie Franz e grazie anche a Luca D -- Greg
[toc] | [prev] | [standalone]
Back to top | Article view | it.comp.lang.visual-basic
csiph-web