Вниз
Скачать: CL | DM;

Tcanvas   Найти похожие ветки 

 
Dhg   (2004-05-15 13:57) [0]

Здраствуйте.
Как можно снять снимок экрана, но так, чтобы система не зависала при этом.


 
Style ©   (2004-05-15 13:59) [1]

>>Как можно снять снимок экрана, но так, чтобы система не >>зависала при этом.

А разве система зависает??
Можно на такой код посмотреть :)


 
Dhg   (2004-05-15 14:05) [2]

two Style

Вот :

unit Main;

interface

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

type
 TForm1 = class(TForm)
   Button1: TButton;
   Image1: TImage;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var DeskTop : TCanvas ;
   B: TBitmap;
begin
 DeskTop := TCanvas.Create ;
 B:=TBitmap.Create;
 B.Width:=800;
 B.Height:=600;

 try
  with DeskTop do
    Handle := GetWindowDC (GetDesktopWindow) ;

  with B.Canvas do
  begin
    CopyRect (Rect (0, 0, 800, 600),
    DeskTop,
    Rect (0, 0, 800, 600))
  end;

 finally
   Image1.Picture.Bitmap :=B;
   DeskTop.Free;
   B.Free;
 end
end;

end.


 
Mim1 ©   (2004-05-15 14:21) [3]

Попробуй заменить
  Handle := GetWindowDC (GetDesktopWindow) ;
на
  Handle := GetDC (0) ;
 

Если не поможет вынеси этот код в поток с низким приоритетом.


 
Dhg   (2004-05-15 14:28) [4]

two Mim1
что используя getdc(0), что desktopwindow, тот же результат :).

Да, актуальная проблема :-)


 
Mim1 ©   (2004-05-15 14:30) [5]

Используйте не создавайте tcanvas вместо copyrect используйте BitBlt( приямо на хендл битмапа и экрана.
Не забывайте про  ReleaseDC.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
14-1084254948
ССЗБ
2004-05-11 09:55
2004.05.30
Феномен больших городов


3-1083398938
Andriy Tysh
2004-05-01 12:08
2004.05.30
EDBClient при закрытии ClientDataSet a


7-1082703132
Random
2004-04-23 10:52
2004.05.30
Скорость сидюка


14-1084042210
Shopot
2004-05-08 22:50
2004.05.30
Динамический объект.


3-1083857553
Sirus
2004-05-06 19:32
2004.05.30
Firebird Embedded и Character Set WIN1251...




   Наверх