//--------------------------------------------------------------------------------------------
function getDateFilename():string;
var
s:string;
begin
DateTimeToString(s,'yyyymmddhhnnsss',now());
result:=s;
end;
//截屏
function captureScreen(x1:integer;y1:integer;x2:integer;y2:integer):tbitmap;
var
dc:HDC;
bmp:tbitmap;
fullCanvas:TCanvas;
begin
dc:=GetDC(0);
fullCanvas:=TCanvas.Create;
fullCanvas.Handle:=dc;
bmp:=TBitmap.Create;
try
bmp.Width:=abs(x2-x1);
bmp.Height:=abs(y2-y1);
bmp.Canvas.CopyRect(Rect(0,0,bmp.Width,bmp.Height),fullCanvas,Rect(x1,y1,x2,y2));
//bmp.SaveToFile('c:\tmp\1.bmp');
finally
end;
result:=bmp;
end;
//*************** Draw Cursor on the bitmap ******************
Function DrawCursor(Bit : TBitmap) : TBitmap;
Var
Cur : TCursorInfo;
Icn : TIcon;
IcnInfo : TIconInfo;
Rec : TRect;
begin
Icn := TIcon.Create;
Rec := Bit.Canvas.ClipRect;
try
Cur.cbSize := SizeOf(Cur);
if GetCursorInfo(Cur) then
if Cur.flags = CURSOR_SHOWING then
begin
Icn.Handle := CopyIcon(Cur.hCursor);
if GetIconInfo(Icn.Handle, IcnInfo) then
Bit.Canvas.Draw(Cur.ptScreenPos.X - Integer(IcnInfo.XHotSpot) - Rec.Left,
Cur.ptScreenPos.Y - Integer(IcnInfo.YHotSpot) - Rec.Top,
Icn);
end;
finally
Icn.Free;
end;
Result := Bit;
end;
//************ End of cursor drawing *************************