I need to capture a screenshot of the scrolling window\'s client area, using .NET. My first priority is capturing web page screenshots. But this can be not the only one use
Have you looked at Snagit? http://www.techsmith.com/download/accessories/default.asp
Also, here's a c# utility that seems to do what you're asking for: http://www.codeproject.com/KB/graphics/IECapture.aspx
I've continued my search and founded IECapt, — an open source tool which can take a web page screenshot using IE inside of it. It has С++ and .NET versions. Also there are Qt/WebKit-based analog from the same author: http://cutycapt.sourceforge.net.
This tools is not a direct answer for my question, but both of them solve the original problem by 90%.
You can get windows to redirect a WM_PAINT to an offscreen buffer with WM_PRINT and WM_PRINTCLIENT. This is better than screenscraping because it makes sure that obscured parts of a window(behind other windows) is painted anyway. If your target window scrolls by scrolling a child window position, WM_PRINT should apply. Just maybe it also helps your scenario.