デスクトップ画面のスクリーンショットを取るには?


ペンネームA  2006-06-11 00:33:41  No: 22146

はじめまして。
デスクトップ画面のスクリーンショットを取り
Imageコンポーネントに表示したいのですが、
どうすればいいのかわかりません。ご教授願えませんでしょうか。


キャプチん  2006-06-11 01:32:50  No: 22147

//デスクトップ画面のキャプチャー
//イベントのアタッチが必要
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private 宣言 }
  public
    { Public 宣言 }
  end;

var
  Form1: TForm1;
var
  G_DC:HDC;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin  G_DC := GetWindowDC(0);  end;

procedure TForm1.FormShow(Sender: TObject);
begin
  Image1.Top := 0;
  Image1.Left := 0;
  Image1.Width := Screen.Width;
  Image1.Height := Screen.Height;
  Image1.Picture.Bitmap.Width := Screen.Width;
  Image1.Picture.Bitmap.Height := Screen.Height;
  BitBlt(Image1.Picture.Bitmap.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, G_DC, 0, 0, SRCCOPY);
  Releasedc(0,G_DC);
end;

end.


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加