Pues la verdad es que es mucho más facil así, yo lo he hecho llamando a la API porque de la forma que tu dices te busca ventanas de aplicaciones pero las ventanas de error del sistema no las encuentra. La funcion de la API que he usado es:
Saludos!!
Quizas esto te sirva para algo, o para sacarle algo:
Cerrar todos los formularios y aplicacion:
Dentro de un Form_Unload()
Dim i as integer
While forms.Count > 1
i = 0
While forms(i).Caption = Me.Caption
i = i + 1
Wend
Unload forms(i)
Wend
Unload Me
End
Ahora otra cosa por curiosidad, conociendo el handle de la ventana como puedo hacer para cerrarla?
Pues con el mismo sendkeys, en vez de enviar Enter, envias Alt + F4..
Prueba con esto, que si recuerdo no mal, era asi
O si no, prueba poniendole delante WshShell
WshShell.Sendkeys "\%{F4}"
Un saludo