Эта функция на Delphi возвращает растровое изображение экрана (ScreenShot), вместе с изображением курсора. В этой функции на Delphi используются другие функции из нашего Delphi FAQ: ScreenCopy и GetCursorInfoWithIcon.
//делает копию экрана с курсором
function ScreenCopyWithCursor: TBitmap;
var
ABitmap: TBitmap;
MyCursor: TIcon;
CursorInfo: TCursorInfo;
IconInfo: TIconInfo;
pt: TPoint;
begin
// получаем ScreenShot
ABitmap := TBitmap.Create;
ABitmap := ScreenCopy;
// создаем иконку, в котрой будем хранить иконку курсора
MyCursor := TIcon.Create;
try
// получаем данные о курсоре
CursorInfo := GetCursorInfoWithIcon;
if CursorInfo.hCursor <> 0 then
begin
GetCursorPos(pt);
MyCursor.Handle := CursorInfo.hCursor;
// получаем параметры иконки
GetIconInfo(CursorInfo.hCursor, IconInfo);
// рисуем иконку курсора в нужном месте на Скриншоте
ABitmap.Canvas.Draw(pt.X - IconInfo.xHotspot,
pt.Y - IconInfo.yHotspot, MyCursor);
end;
finally
// освобождаем память
MyCursor.ReleaseHandle;
MyCursor.Free;
end;
Result := ABitmap;
end;
Пример использования:
…
Image1.Picture.Assign(ScreenCopyWithCursor);
…
Все девушки обожают цветы. И если вы хотите сделать своей любимой приятный сюрприз, то вам пригодится услуга доставка цветов, которую оказывают многие цветочные магазины.