Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];

Вниз

ПЕРИОДИЧЕСКИЙ СОХРАНЕНИЕ ЭКРАНА   Найти похожие ветки 

 
DoSpyRap ©   (2006-01-03 01:11) [0]

Буду благодарен тому, кто подскажет как делать снимок экрана так что-бы он сохранялся с переодичностью (например 20 сек) и сохранялся в каком-нибудь каталоге.


 
Gydvin ©   (2006-01-03 11:52) [1]

Можно плясать от этого

procedure TScrnFrm.GrabScreen;

var

DeskTopDC: HDc;
DeskTopCanvas: TCanvas;
DeskTopRect: TRect;

begin
DeskTopDC := GetWindowDC(GetDeskTopWindow);
DeskTopCanvas := TCanvas.Create;
DeskTopCanvas.Handle := DeskTopDC;

DeskTopRect := Rect(0,0,Screen.Width,Screen.Height);

ScrnForm.Canvas.CopyRect(DeskTopRect,DeskTopCanvas,DeskTopRect);

ReleaseDC(GetDeskTopWindow,DeskTopDC);
end;


 
Fenik ©   (2006-01-03 13:07) [2]

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    StartBtn: TButton;
    StopBtn: TButton;
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure StartBtnClick(Sender: TObject);
    procedure StopBtnClick(Sender: TObject);
  private
    FCounter: Integer;
    FPath: string;
    FBitmap: TBitmap;
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Timer1Timer(Sender: TObject);
var ScreenDC: HDC;
begin
  ScreenDC := GetDC(0);
  try
    with FBitmap do
      BitBlt(Canvas.Handle, 0, 0, Width, Height, ScreenDC, 0, 0, SRCCOPY);
    FBitmap.SaveToFile(Format("%s%d.bmp", [FPath, FCounter]));
    Inc(FCounter);
  finally
    ReleaseDC(0, ScreenDC);
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  FBitmap := TBitmap.Create;
  FBitmap.PixelFormat := pf24Bit;
  FBitmap.Width := Screen.Width;
  FBitmap.Height := Screen.Height;
  Caption := ExtractFilePath(ParamStr(0));
  Timer1.Enabled := False;
  Timer1.Interval := 20000;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  FBitmap.Free;
end;

procedure TForm1.StartBtnClick(Sender: TObject);
begin
  Timer1.Enabled := True;
end;

procedure TForm1.StopBtnClick(Sender: TObject);
begin
  Timer1.Enabled := False;
end;

end.


 
Fenik ©   (2006-01-03 13:09) [3]

Упс.
Вместо этого
 Caption := ExtractFilePath(ParamStr(0));

надо
 FPath := ExtractFilePath(ParamStr(0));


 
DoSpyRap ©   (2006-01-05 22:10) [4]

Всем спасибо



Страницы: 1 вся ветка

Форум: "Media";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.042 c
4-1142007288
Arazel
2006-03-10 19:14
2006.06.04
WinApi > PopupMenu: Как добавить панель сбоку?


1-1145302715
Дмитрий_177
2006-04-17 23:38
2006.06.04
В Label обрезается текст при стиле Italic


4-1142414062
Std
2006-03-15 12:14
2006.06.04
Выполнение программы во время выключения или перезагрузки


15-1147288320
dreamse
2006-05-10 23:12
2006.06.04
Как узнать серверу какой ip у клиента если этот ip динамический ?


4-1142351776
Volf_555
2006-03-14 18:56
2006.06.04
Проблема с SendMessage





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский