How save Screen to Bitmap image?

How save Screen to Bitmap image in C++?
Please can anyone send me example code?
LVL 1
ViestursAsked:
Who is Participating?
 
AlexVirochovskyConnect With a Mentor Commented:
I repete my reply:
  WINCAP Captures Screens Using DIB API
http://support.microsoft.com/support/kb/articles/q97/1/93.asp 
Create dib and save to disk.
Alex


0
 
nietodCommented:
Standard C++ provides no mechanism for this.  Standard C++ doesn't even assume there is a screen, much less contain any features for dealing with bitmaps.

In order to do this you will have t make use of Operating System-specific code.  That raises the question--What operating system do you need this for?

In windows you can use

HDC ScreenDC = CreateDC("DISPLAY",NULL,NULL,NULL);
HDC MemDC = CreateCompatibleDC(ScreenDC);
HBITMAP BitMap = CreateCompatibleBitmap(ScreenDC,GetSystemMetrics(SM_CXSCREEN),GetsystemMetrics(SM_CYSCREEN))
HBITMAP OldBmp = SelectObject(MemDC,BitMap);

BitBlt(MemDC,0,0,,GetSystemMetrics(SM_CXSCREEN),GetsystemMetrics(SM_CYSCREEN),ScreenDC,0,0,SRCCOPY);

SelectObject(MemDC,OldBmp);
DeleteDC(ScreenDC);
DeleteDC(MemDC);

The code creates a DC for the screen and a compatible one for a memory bitmap.  Then it creates a memory bitmap the same size as the screen.  It selects the memory bitmap into the memory DC.  Then it copies the screen's bitmap to the memory bitmap with BitBlt().   Then it cleans up by restoring the memory DC's original bitmap (important step!).  and deletes the two DCs.
0
 
AlexVirochovskyCommented:
 WINCAP Captures Screens Using DIB API
http://support.microsoft.com/support/kb/articles/q97/1/93.asp

Create dib and save to disk.
0
 
ViestursAuthor Commented:
Spasibo. Primer skachal, tolko ne uspel posmotrets. :)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.