有哪位大哥可以帮小弟一个忙,怎么在DELPHI里面截图啊,毕业论文就要交了,好急啊!

解决方案 »

  1.   

    procedure TClient.ScreenCap(LeftPos,TopPos,
    RightPos,BottomPos:integer);
    var
    RectWidth,RectHeight:integer;
    SourceDC,DestDC,Bhandle:integer;
    Bitmap:TBitmap;
    begin
    RectWidth:=RightPos-LeftPos;
    RectHeight:=BottomPos-TopPos;
    SourceDC:=CreateDC('DISPLAY','','',nil);
    DestDC:=CreateCompatibleDC(SourceDC);
    Bhandle:=CreateCompatibleBitmap(SourceDC,
    RectWidth,RectHeight);
    SelectObject(DestDC,Bhandle);
    BitBlt(DestDC,0,0,RectWidth,RectHeight,SourceDC,
    LeftPos,TopPos,SRCCOPY);
    Bitmap:=TBitmap.Create;
    Bitmap.Handle:=BHandle;
    BitMap.SaveToStream(BmpStream);
    BmpStream.Position:=0;
    LeftSize:=BmpStream.Size;
    Bitmap.Free;
    DeleteDC(DestDC);
    ReleaseDC(Bhandle,SourceDC);
    end;