In a post that's mostly about resource management, Eric Gunnerson mentions an API that I didn't know existed:
desktopWindow.Image = Win32Window.DesktopAsBitmap;
This is quite apropos the discussion of novice versus expert users. Here I've been a user of the .NET BCL for more than 2 years and when I was recently faced with the desire to recreate a desktop effect by compositing, I was stumped (the effect being recreating ink antialiased over a bitmap, but that's beside the point). If you want to be the greatest UI designer of your generation, figure out how to facilitate discovery of alternate paths to accomplish a goal. (There must be a solution that doesn't require a journey into the impenetrable thickets of natural language query. Perhaps a Bayesian analysis of APIs used in a large corpus such as SourceForge / GotDotNet projects...)
(BTW, any discussion of "beginner" versus "advanced" users should take into account that there should be a continuum where "high end" use is Eric's "So I had a problem with resource management that I fixed by writing a program..." )