mit FindWindow(nil, nil) das erste Fensterhandle holen, und anschließend mit GetWindow in Zusammenhang mit dem Parameter GW_Next (oder so ähnlich) alle Händles von TopLevel Fenstern holen. Und dann eben mit ShowWindow(
handle, False) die Fenster ferstecken und mit ShowWindow(
handle, True) (in sortierte Reihenfolge) wieder sichtbar machen.