Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.30;
Скачать: 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 вся ветка

Текущий архив: 2004.05.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.031 c
14-1083794584
AlerX
2004-05-06 02:03
2004.05.30
RPG что происходит внутри


14-1083861937
Мазут Береговой
2004-05-06 20:45
2004.05.30
Как определить качество (вредность) дисплея?


4-1081873491
juiceman
2004-04-13 20:24
2004.05.30
перехват winAPI...


8-1079261589
Evrp
2004-03-14 13:53
2004.05.30
Пожалуйста помогите!!! Не передвигаеться канва у TImage


3-1083937862
goozman
2004-05-07 17:51
2004.05.30
BDE