Step.1 获得当前屏幕DC//GetDC()Step.2 通过DC获得位图//Canvas.HandleStep.3 获得当前鼠标图片//GetCursor()Step.4 获得鼠标位置及热点位置//Mouse.CursorPos()//GetCursorInfo()Step.5 根据鼠标的相对位置,将鼠标绘制到位图中//Canvas.Draw()

解决方案 »

  1.   

    //参考
    http://www.china-askpro.com/msg2/qa41.shtml
      

  2.   

    uses Clipbrd;procedure TForm1.Button1Click(Sender: TObject);
    var
      vCursor: HCURSOR;
      vDC: HDC;
      vBitmap: TBitmap;
    begin
      vCursor := GetCursor;
      vDC := GetDC(0);
      vBitmap := TBitmap.Create;
      try
        vBitmap.Width := Screen.Width;
        vBitmap.Height := Screen.Height;
        BitBlt(vBitmap.Canvas.Handle, 0, 0, vBitmap.Width, vBitmap.Height,
          vDC, 0, 0, SRCCOPY);
        DrawIcon(vBitmap.Canvas.Handle, Mouse.CursorPos.X, Mouse.CursorPos.Y, vCursor);
        Clipboard.Assign(vBitmap);
      finally
        vBitmap.Free;
        DeleteDC(vDC);
      end;
    end;