Hallo Duncan,
hier alles was Du brauchst, um alle offenen IE-Fenster per Click zu schliessen:
<code><font color=#000099>Option</font> <font color=#000099>Explicit</font>
<font color=green>' zunächst die benötigten API-Deklarationen</font>
<font color=#000099>Private</font> <font color=#000099>Declare</font> <font _
color=#000099>Function</font> GetWindow <font color=#000099>Lib</font> _
"user32" _
(<font color=#000099>ByVal</font> hwnd <font color=#000099>As</font> <font _
color=#000099>Long</font>, <font color=#000099>ByVal</font> wCmd <font _
color=#000099>As</font> <font color=#000099>Long</font>) <font _
color=#000099>As</font> <font color=#000099>Long</font>
<font color=#000099>Private</font> <font color=#000099>Declare</font> <font _
color=#000099>Function</font> GetClassName <font color=#000099>Lib</font> _
"user32" _
<font color=#000099>Alias</font> "GetClassNameA" (<font _
color=#000099>ByVal</font> hwnd <font color=#000099>As</font> <font _
color=#000099>Long</font>, _
<font color=#000099>ByVal</font> lpClassName <font color=#000099>As</font> _
<font color=#000099>String</font>, <font color=#000099>ByVal</font> nMaxCount _
<font color=#000099>As</font> <font color=#000099>Long</font>) _
<font color=#000099>As</font> <font color=#000099>Long</font>
<font color=#000099>Private</font> <font color=#000099>Declare</font> <font _
color=#000099>Function</font> SendNotifyMessage <font _
color=#000099>Lib</font> "user32" _
<font color=#000099>Alias</font> "SendNotifyMessageA" (<font _
color=#000099>ByVal</font> hwnd <font color=#000099>As</font> <font _
color=#000099>Long</font>, _
<font color=#000099>ByVal</font> msg <font color=#000099>As</font> <font _
color=#000099>Long</font>, <font color=#000099>ByVal</font> wParam <font _
color=#000099>As</font> <font color=#000099>Long</font>, _
<font color=#000099>ByVal</font> lParam <font color=#000099>As</font> <font _
color=#000099>Long</font>) <font color=#000099>As</font> <font _
color=#000099>Long</font>
<font color=#000099>Const</font> GW_HWNDFIRST = 0
<font color=#000099>Const</font> GW_HWNDNEXT = 2
<font color=#000099>Const</font> WM_SYSCOMMAND = &H112
<font color=#000099>Const</font> SC_CLOSE = &HF060</code> Per Click auf ein CommandButton werden alle IE-Fenster geschlossen:
<code><font color=#000099>Private</font> <font color=#000099>Sub</font> _
Command1_Click()
<font color=green>' Alle offnen IE-Fenster ermitteln</font>
<font color=#000099>Dim</font> CurhWnd <font color=#000099>As</font> <font _
color=#000099>Long</font>
<font color=#000099>Dim</font> lRetVal <font color=#000099>As</font> <font _
color=#000099>Long</font>
<font color=#000099>Dim</font> sClassName <font color=#000099>As</font> <font _
color=#000099>String</font>
<font color=green>' Liste löschen</font>
List1.Clear
<font color=green>' Alle Fenster durchlaufen</font>
CurhWnd = GetWindow(hwnd, GW_HWNDFIRST)
<font color=#000099>Do</font> <font color=#000099>While</font> CurhWnd <> 0
<font color=green>' Klassennamen ermitteln</font>
sClassName = <font color=#000099>String</font>$(256, " ")
lRetVal = GetClassName(CurhWnd, sClassName, 255)
sClassName = Left$(sClassName, InStr(sClassName, _
Chr$(0)) - 1)
<font color=#000099>If</font> sClassName = "IEFrame" <font _
color=#000099>Then</font>
<font color=green>' Internet Explorer-Fenster gefunden!</font>
<font color=green>' Jetzt Fenster schliessen</font>
SendNotifyMessage CurhWnd, WM_SYSCOMMAND, SC_CLOSE, 0
<font color=#000099>End</font> <font color=#000099>If</font>
<font color=green>' Handle des nächsten Fensters</font>
<font color=green>' 0, wenn kein weiteres Fenster vorhanden</font>
CurhWnd = GetWindow(CurhWnd, GW_HWNDNEXT)
<font color=#000099>Loop</font>
<font color=#000099>End</font> <font color=#000099>Sub</font></code> Cu
Dieter |