Вниз
Скачать: 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.023 c
7-1082526550
DC
2004-04-21 09:49
2004.05.30
Набор символов Unicod


14-1084430464
Kerk
2004-05-13 10:41
2004.05.30
"Can t sleep because of Peter Norton s Disk Editor glory". (c)


14-1084047738
Swed
2004-05-09 00:22
2004.05.30
Справка о справке


14-1083838330
SiJack
2004-05-06 14:12
2004.05.30
DUnit - не могу врубится как данным сабжем пользоватся


6-1081631172
StarEvil
2004-04-11 01:06
2004.05.30
ipconfig.exe на Delphi




   Наверх