Zapisywanie zrzutu ekranu do pliku BMP

Aby po kliknięciu przycisku Button1 zapisać zrzut ekranu do pliku BMP:

Unit1.cpp
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TCanvas &PulpitCanvas = *new TCanvas();
    Graphics::TBitmap *Bmp = new Graphics::TBitmap;

    PulpitCanvas.Handle = GetDC(0);
    Bmp->Width = Screen->Width;
    Bmp->Height = Screen->Height;
    Bmp->Canvas->CopyRect(Rect(0, 0, Bmp->Width, Bmp->Height), &PulpitCanvas,
                          Rect(0, 0, Bmp->Width, Bmp->Height));

    try
    {
       Bmp->SaveToFile("c:\\ekran.bmp");
       ReleaseDC(0, PulpitCanvas.Handle);
    }
    catch(...)
    {
    }
   
    delete &PulpitCanvas;
    delete Bmp;
}

nadesłał: Bronx