Concept: How to grab windows and manipulate?

I have an idea for a screen saver, but have no real idea on how or where to
start. Here's what I have in mind so far:

I would like to scan the Program Manager, and make a list of all objects
(icons, open windows, etc.), including z-order of the objects.

I would then like to cover the REAL Program Manager with a fake 'copy' (is
this overkill, or even necessary?).

The screen saver part would start by grabbing the uppermost window(s),
icon(s), what have you, and bounce them around the screen, spinning them
while they bounce.

I know that After Dark (tm) had one where a dog came out and started
burying the icons and so forth, so I don't THINK my idea is TOO far fetched
(or is it? Anyone who can tell me otherwise?).

I appreciate anyone who can give me an idea(s) of how to proceed here. Main
thing is just to get it working before even trying the 'make a Delphi
screensaver' stuff.

Mark Edwards
Arlington, Texas