Разместите на форме TPaintBox и TButton.
Code: |
procedure TForm1.Button1Click(Sender: TObject); var DeskTop: TCanvas; begin DeskTop := TCanvas.Create; try with DeskTop do Handle := GetWindowDC(GetDesktopWindow); with PaintBox1.Canvas do CopyRect(Rect(0, 0, 200, 200), DeskTop, Rect(0, 0, 200, 200)) finally DeskTop.Free; end end; |
Это скопирует верхнюю левую область рабочего стола в верхнюю левую область вашего TPaintBox.
Например, с помощью WinAPI так -
Code: |
var bmp: TBitmap; DC: HDC; begin bmp:=TBitmap.Create; bmp.Height:=Screen.Height; bmp.Width:=Screen.Width; DC:=GetDC(0); //Дескpиптоp экpана bitblt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, DC, 0, 0, SRCCOPY); bmp.SaveToFile('Screen.bmp'); ReleaseDC(0, DC); end; |
Или с помощью обертки TCanvas -
Объект Screen[.width,height] - размеры
Code: |
Var Desktop: TCanvas ; BitMap: TBitMap; begin DesktopCanvas:=TCanvas.Create; DesktopCanvas.Handle:=GetDC(Hwnd_Desktop); BitMap := TBitMap.Create; BitMap.Width := Screen.Width; BitMap.Height:=Screen.Height; Bitmap.Canvas.CopyRect(Bitmap.Canvas.ClipRect, DesktopCanvas, DesktopCanvas.ClipRect); ........ end; |
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!