Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //captura a tela toda e salva em arquivo formato BMP
- //CaptureAllScreenToBMP - Delphi
- procedure CaptureAllScreenToBMP(AFileName: string);
- const
- CAPTUREBLT = $40000000;
- var
- hdcScreen: HDC;
- hdcCompatible: HDC;
- bmp: TBitmap;
- hbmScreen: HBITMAP;
- begin
- // Create a normal DC and a memory DC for the entire screen. The
- // normal DC provides a "snapshot" of the screen contents. The
- // memory DC keeps a copy of this "snapshot" in the associated
- // bitmap.
- hdcScreen := CreateDC('DISPLAY', nil, nil, nil);
- hdcCompatible := CreateCompatibleDC(hdcScreen);
- // Create a compatible bitmap for hdcScreen.
- hbmScreen := CreateCompatibleBitmap(hdcScreen,
- GetDeviceCaps(hdcScreen, HORZRES),
- GetDeviceCaps(hdcScreen, VERTRES));
- // Select the bitmaps into the compatible DC.
- SelectObject(hdcCompatible, hbmScreen);
- bmp := TBitmap.Create;
- bmp.Handle := hbmScreen;
- BitBlt(hdcCompatible,
- 0, 0,
- bmp.Width, bmp.Height,
- hdcScreen,
- 0, 0,
- SRCCOPY or CAPTUREBLT);
- bmp.SaveToFile(AFileName);
- bmp.Free;
- DeleteDC(hdcScreen);
- DeleteDC(hdcCompatible);
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement