Kod działą dla borlanda c++ dla visuala c++ nie che wyskakuja bledy jak je wyeliminowac.
jak powinien wygladac kod zrodlowy w visual studio c++ ktory przechwytuje bitmapę robi zrzut ekranu z kawałka ekranu i <ort>zapiuje </ort>ją do pamięci i do pliku w formacie bmp.
#include <vcl.h>
#pragma hdrstop
#include <tchar.h>
//---------------------------------------------------------------------------
#pragma argsused
int _tmain(int argc, _TCHAR* argv[])
{
HWND BCBHandle = FindWindow("TAppBuilder", NULL);
if (BCBHandle)
{
HDC dc = GetWindowDC(BCBHandle);
Graphics::TCanvas *ScreenCanvas = new Graphics::TCanvas;
Graphics::TBitmap *BMP = new Graphics::TBitmap;
ScreenCanvas->Handle = dc;
TRect rect = ScreenCanvas->ClipRect;
rect.Right = rect.Right - rect.Left;
rect.Bottom = rect.Bottom - rect.Top;
rect.Top = 0;
rect.Left = 0;
BMP->Width = rect.Right;
BMP->Height= rect.Bottom;
BMP->Canvas->CopyRect(rect, ScreenCanvas,ScreenCanvas->ClipRect);
BMP->SaveToFile("c:\\zrzut.bmp");
delete ScreenCanvas;
delete BMP;
ReleaseDC(BCBHandle, dc);
}
return 0;
}
//dokładnie ta funkcja powoduje przekopiowanie kawałka
ekranu do bitmapy w pamięci
bitmap->Canvas->CopyRect(Rect(0, 0, bitmap->Width, bitmap->Height),
&PulpitCanvas,Rect(0, 0, bitmap->Width, bitmap->Height));
zeby robiła zrzut ekrannu wybranych pikseli (kwadratu) i kopiowala z pamięci do pliku.