Mayayana
10/3/2010 2:29:00 PM
An addendum to that last....
While you can't set IE.Left, IE.Top, you
can return them.
Private Sub Command1_Click()
Dim IE As InternetExplorer
Dim Wins As ShellWindows
Dim i As Long
Set SH = New Shell32.Shell
Set Wins = SH.Windows
For i = 0 To Wins.Count - 1
Set IE = Wins.Item(i)
Debug.Print IE.Left
Debug.Print IE.Top
Next
Set IE = Nothing
Set SH = Nothing
End Sub
With 3 folders open, 1 minimized, I get
this:
688
183
-32000
-32000
529
178
So you can identify a minimzied folder by
looking for an invalid Left or Top.
I think that's a good example of how the
Shell object works. It's poorly designed, with
a convoluted object model. (There are at least 4
ways to look at a folder: IE, ShellFolderView,
Shell Folder object, and Shell Folder FolderItem.
Each provides different access; each is relating
to a visual GUI entity; yet none of them has a
simple boolean Minimized property.)
Nevertheless, Shell also lends itself to all sorts
of fun hacks and provides a lot of access that's
not available "elsewise".