Rendering to desktop (or something like that)

This is kind of an odd question, but I hope I can get some help. Essentially, what I want to do is render some 2d effects and have it appear as though they are happening on the desktop. (Note: this is for Windows). So I’m thinking what I’ll have to do is get a screen capture, initialize a fullscreen OGL app, set it to the desktop resolution, and use the screen capture as a background for my rendering. So could someone give me some advice on how to do this? Also, I’d need to be able to get the color values at particular locations of the screen capture – example: if the pixel at location (345, 45) is completely red, I’d get back (1.0f, 0.0f, 0.0f). I hope you understand what I’m asking for. Thanks for any help.

GetDesktopHandle();
will get the desktop handle, you could read from that into an array of color values. Then use that array of data to create a texture.
As for finding the color value, look at glReadPixels ();