unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ieview, iemview, ExtCtrls, ImageEnView, ImageEnIO, hyieutils, hyiedefs, iexBitmaps, iesettings, iexLayers, iexRulers; type TForm1 = class(TForm) ImageEnMView1: TImageEnMView; Timer1: TTimer; Panel1: TPanel; btnRecord: TButton; Label1: TLabel; edtFilename: TEdit; btnPlay: TButton; chkMinimize: TCheckBox; procedure btnRecordClick(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure FormActivate(Sender: TObject); procedure btnPlayClick(Sender: TObject); private { Private declarations } public { Public declarations } fHiddenIEView: TImageEnView; end; var Form1: TForm1; implementation uses fplay; {$R *.DFM} {$R WindowsTheme.res} // Record/stop procedure TForm1.btnRecordClick(Sender: TObject); const Radius_Cinepack_Compressor_4CC = 'cvid'; Microsoft_Video_1_Compressor_4CC = 'msvc'; begin if Timer1.Enabled then begin // we have to stop fHiddenIEView.IO.CloseAVIFile; Timer1.Enabled := false; btnRecord.Caption := 'Record'; FreeAndNil( fHiddenIEView ); ImageEnMView1.MIO.LoadFromFile( edtFilename.Text ); end else begin // we have to start fHiddenIEView := TImageEnView.Create(nil); fHiddenIEView.IO.CreateAVIFile( edtFilename.Text, 1, Microsoft_Video_1_Compressor_4CC ); btnRecord.Caption := 'Stop'; if chkMinimize.checked then WindowState := wsMinimized; DeleteFile( edtFilename.Text ); Timer1.Enabled := true; end; end; // Capture a frame procedure TForm1.Timer1Timer(Sender: TObject); begin fHiddenIEView.IO.CaptureFromScreen( iecsPrimary , 0 ); fHiddenIEView.IO.Params.BitsPerSample := 8; fHiddenIEView.IO.Params.SamplesPerPixel := 3; fHiddenIEView.IO.SaveToAVI; Application.ProcessMessages; end; procedure TForm1.FormActivate(Sender: TObject); begin edtFilename.Text := IncludeTrailingBackSlash( ExtractFilePath( Application.Exename )) + 'Temp.avi'; ImageEnMView1.EnableAlphaChannel := true; ImageEnMView1.SoftShadow.Enabled := true; ImageEnMView1.FillThumbnail := false; ImageEnMView1.ThumbnailDisplayFilter := rfFastLinear; end; procedure TForm1.btnPlayClick(Sender: TObject); begin ffplay.ImageEnMView1.MIO.LoadFromFile( edtFilename.Text ); ffplay.ImageEnMView1.Playing := true; ffplay.Show; end; end.