How to capture screen to bitmap
Capturing screen to in-memory bitmap is extremely easy. All you need is to create a bitmap instance with appropriate size
CWsScreenDevice* screenDev = CCoeEnv::Static()->ScreenDevice();
CFbsBitmap* bitmap = new (ELeave) CFbsBitmap;
CleanupStack::PushL( bitmap );
User::LeaveIfError( bitmap->Create( screenDev->SizeInPixels(),
screenDev->DisplayMode() ) );
and then copy screen content into it as follows
User::LeaveIfError( screenDev->CopyScreenToBitmap( bitmap ) );
// use bitmap as appropriate, for example save it to file
CleanupStack::PopAndDestroy( bitmap );
This code links against fbscli.lib and ws32.lib