var
   hdcDesktop: HDC;
   bmpDesktop: TBitmap;
begin
   hdcDesktop := CreateDC('DISPLAY', '', '', Nil);
   bmpDesktop := TBitmap.Create;
   bmpDesktop.Handle := CreateCompatibleBitmap(hdcDesktop, Screen.Width, Screen.Height);
   bmpDesktop.SaveToFile('C:\Desktop.bmp');
   bmpDesktop.Free;
   DeleteDC(hdcDesktop);
end;

解决方案 »

  1.   

    对不起,刚才是错的,现把源代码公布如下:
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, ExtCtrls;type
      TForm1 = class(TForm)
        ScrollBox1: TScrollBox;
        Bevel1: TBevel;
        Image1: TImage;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure asdfa;
    begin
       GetDC(0);
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
       hDesktop: HBITMAP;
       bmpDesktop: TBitmap;
       hdcDesktop, hdcTemp: HDC;
    begin
       hdcDesktop := CreateDC('DISPLAY', '', '', Nil);
       hdcTemp := CreateCompatibleDC(hdcDesktop);
       hDesktop := CreateCompatibleBitmap(hdcDesktop, Screen.Width, Screen.Height);
       SelectObject(hdcTemp, hDesktop);
       BitBlt(hdcTemp, 0, 0, Screen.Width, Screen.Height, hdcDesktop, 0, 0, SRCCOPY);
       //
       bmpDesktop := TBitmap.Create;
       bmpDesktop.Handle := hDesktop;
       Image1.Picture.Bitmap := bmpDesktop;
       bmpDesktop.Free;
       DeleteDC(hdcTemp);
       ReleaseDC(hDesktop, hdcDesktop);
    end;end.