I'm not sure if this will help, but I wrote this a while back. I used bits and pieces from other sources, but it works well. PNG is lossless so the quality is really good and small compared to other image formats. Maybe this will help you achieve what you want. This was written in c++ using the GDI+ API.
http://x-null.net/James/portfolio/co...ot-Application
BitBlt *sometimes* gives black screens. It is dwm related issue.
And i dunno if it lags.
I feel ages ahead of this thread. The idea that i searched and tried for weeks to get the most reliable approach of ss'ing mohaa and then figure this thread makes me feel like i'm actually useful in the community.