Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Ridurre a icona tutte le finestre

Ciao ragazzi!
Qualcuno conosce un metodo per ridurre a icona tutte le finestre da codice
VB? Quello che vorrei č riprodurre i comandi "Riduci a icona tutte le
finestre" e "Annulla riduci tutto a icona", accessibili facendo clic con il
pulsante destro del mouse su un punto libero della TaskBar. Fino a poco
tempo fa, quando nel sistema era installato IE4, creavo un riferimento al
file SHDOCVW.DLL (Microsoft Internet Controls) ed utilizzavo questa
dichiarazione:
    Private MyShell As New Shell
Cosě facendo, era sufficiente l'istruzione
    MyShell.MinimizeAll
per ridurre a icona tutte le finestre.
Tuttavia, ora che sono passato a Internet Explorer 5.0, le istruzioni sopra
riportate sembrano non funzionare piů. Ho provato con le API "EnumWindows"
ed "EnumWindowsProc", ma non sono riuscito a farle funzionare correttamente.
Ringrazio fin d'ora quanti vorranno rispondermi.
A presto
--
Marco Minerva, 
mar...@dmw.it
http://www.armaditaggia.com/marco
http://www.geocities.com/SiliconValley/Foothills/7260/

pulsante destro del mouse su un punto libero della TaskBar. Fino a poco
[snip]
------------
Francesco Beccari
frankb@I_HATE_SPAM_interplanet.it

 finestre" e "Annulla riduci tutto a icona", accessibili facendo clic con
il
Non so se č quello che ti serve, l'ho trovato proprio oggi, su un file in
inglese da tradurre... d'ya know ?
__________________________________
Const WS_MINIMIZE = &H20000000
Const HWND_TOP = 0
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const SWP_SHOWWINDOW = &H40
Const GW_HWNDFIRST = 0
Const GW_HWNDNEXT = 2
Const GWL_STYLE = (-16)
Const WS_VISIBLE = &H10000000
Const WS_BORDER = &H800000
Dim IsTask As Long
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal
wCmd As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA"
(ByVal hwnd As Long, ByVal wIndx As Long) As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA"
(ByVal hwnd As Long, ByVal lpSting As String, ByVal nMaxCount As Long) As
Long
Private Declare Function GetWindowTextLength Lib "user32" Alias
"GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Private Declare Function CloseWindow& Lib "user32" (ByVal hwnd As Long)
Eseguire questo codice che 'individua' le finestre e le chiude:
Dim Handle As Long
Dim intLen As Long
Dim strTitle As String
Dim RetValue As Long
IsTask = WS_VISIBLE Or WS_BORDER
Me.WindowState = 1
Handle = GetWindow(Me.hwnd, GW_HWNDFIRST)
Do While Handle
  If Handle <> Me.hwnd And TaskWindow(Handle) Then
    intLen = GetWindowTextLength(Handle) + 1
    strTitle = Space$(intLen)
    intLen = GetWindowText(Handle, strTitle, intLen)
    If intLen > 0 Then
      RetValue = CloseWindow(Handle)
    End If
  End If
  Handle = GetWindow(Handle, GW_HWNDNEXT)
Loop
Bye, G.
--
---------------------------------------------
    Le risposte alle tue domande le trovi sul
    Sito Comune di questo NewsGroup:
 
http://www.murialdo.it/it_lang_vb
---------------------------------------------
Real E-address: 
gaet...@hotmail.com

Ciao Gaetano!
Ti ringrazio per la premura; tuttavia, la procedura che mi hai postato non
sembra funzionare correttamente. Anzitutto, se vedi la riga
    If Handle <> Me.hwnd And TaskWindow(Handle) Then
la sub (o function) "TaskWindow" non č stata definita. Ho provato a cercare
nella Win32 Programmer's Reference e nella MSDN Library - versione per
Visual Studio 6.0, ma niente. Rimuovendo la parte di codice che causa
l'errore, vengono ridotte a icona tutte le finestre che presentano un
titolo, comprese le finestre child (cosa che non avviene con il comando
"Riduci a icona tutte le finestre").
Scusa se ti disturbo ancora, ma questa funzione mi č indispensabile, poiché
la devo includere in un programma che devo consegnare entro la fine di
Luglio.
Ancora grazie per l'interessamento.
Conto su una nuova risposta.
Marco Minerva, 
mar...@dmw.it
http://www.armaditaggia.com/marco
http://www.geocities.com/SiliconValley/Foothills/7260/
Paperino <non...@lo.dico> wrote in message
7nfkbm$18js$1...@stargate1.inet.it...


Ho un sorgente che utilizza EnumWindows e ShowWindow per ridurre a
icona, o chiudere, ecc le finestre attive (anche se invisibili) di
windows. Se ti interessa te la posto, ti avverto  però che ha un sacco
di bug da sitemare, io non ne ho ancora avuto il tempo.  
Ciao
:-) Hd (-:
p_di...@freemail.it
  (okkio, non è politico ^_^)
hd...@azienda.net
Sito Comune:
www.murialdo.it
\it_lang_vb

 > Non so se è quello che ti serve, l'ho trovato proprio oggi, su un file
