Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.16;
Скачать: CL | DM;

Вниз

Вопрос по screenshot ам   Найти похожие ветки 

 
Sania   (2006-04-03 12:20) [0]

<font color="red">HELP!!!</font>
Как снять скриншот, люди говорят, что с помощью Delphi это невозможно? Может есть модули с готовой процедурой??


 
balepa ©   (2006-04-03 12:31) [1]


> Sania   (03.04.06 12:20)  
> <font color="red">HELP!!!</font>
> Как снять скриншот, люди говорят, что с помощью Delphi это
> невозможно? Может есть модули с готовой процедурой??

Наглая ложь.... Бить их надо
Сам не проверял вот:

Rouse_ ©   (05.10.02 17:23)
Немного подправлю пример

procedure TForm1.Button1Click(Sender: TObject);
var
DC: HDC;
Canva: TCanvas;
B: TBitmap;
JPEG: TJPEGImage;
Bitmap: TBitmap;
begin
Canva := TCanvas.Create;
B := TBitmap.Create;
DC := GetDC(0);
try
Canva.Handle := DC;
with Screen do
begin
B.Width := Width;
B.Height := Height;
B.Canvas.CopyRect(Rect(0, 0, Width, Height), Canva,Rect(0, 0, Width, Height));
JPEG.Assign(B);
JPEG.SaveToFile("C:\Documents and Settings\Alexander.PENTIUM-200-MMX\Desktop\1.jpg");
end
finally
ReleaseDC(0, DC);
B.Free;
Canva.Free;
JPEG.Free;
end;

Так оно правильней будет
Желаю успехов


 
balepa ©   (2006-04-03 12:37) [2]

snoup ©   (08.04.02 20:07)
Пат ну вот например этот код делает рисунок всего экрана:
procedure TForm1.Button2Click(Sender: TObject);
var
Bmp : TBitmap;  DC  : HDC;
begin  Bmp := TBitmap.Create;
Bmp.Height := Screen.Height;  Bmp.Width := Screen.Width;

DC := GetDC(0);
BitBlt(Bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
    DC, 0, 0, SRCCOPY);
Bmp.SaveToFile("C:\Windows\Рабочий стол\1.bmp");
ReleaseDC(0, DC);
end;


 
Palladin ©   (2006-04-03 12:39) [3]


> DC := GetDC(0);


рекомендую все таки
DC:=GetDC(GetDesktopWindow);


 
balepa ©   (2006-04-03 12:51) [4]


> balepa ©   (03.04.06 12:31) [1]

Добавь.
.........
Canva := TCanvas.Create;
B := TBitmap.Create;
DC := GetDC(0);
JPEG:= TJPEGImage.Create;
......


 
Джо ©   (2006-04-03 14:34) [5]

Вот еще с курсором.

function MakeScreenshot (Bmp: TBitmap; ActiveWindowOnly: Boolean; CaptureCursor: Boolean = True): Boolean;
var
 DC: HDC;
 ACursor: HICON;
 Pt: TPoint;
 CurInfo: tagCURSORINFO;
 IcoInfo: _ICONINFO;
 Wnd: THandle;
 ARect: TRect;
begin
 Result := False;
 if ActiveWindowOnly then
   Wnd := GetForegroundWindow
 else
   Wnd := GetDesktopWindow;
 if Wnd = 0 then Exit;
 GetWindowRect(Wnd, ARect);
 Bmp.Width := ARect.Right - ARect.Left;
 Bmp.Height := ARect.Bottom - ARect.Top;

 DC := GetWindowDC(Wnd);
 try
   BitBlt (
     Bmp.Canvas.Handle,
     0,0,Bmp.Width,Bmp.Height,
     DC,
     0,0,
     SRCCOPY);

   // -- курсор
   if CaptureCursor then
   begin

     CurInfo.cbSize := SizeOf(CurInfo);
     GetCursorInfo(CurInfo);

     ACursor := CurInfo.hCursor;
     Pt := CurInfo.ptScreenPos;

     GetIconInfo (ACursor,IcoInfo);

     DrawIcon(
       Bmp.Canvas.Handle,
       Pt.X - Integer(IcoInfo.xHotspot),
       Pt.Y - Integer(IcoInfo.yHotspot),
       ACursor
     )
   end;
 finally
   ReleaseDC(Wnd, DC);
 end;
 Result := True;
end;



 
Sania   (2006-04-04 11:35) [6]

Огромное спасибо!!



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

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

Наверх




Память: 0.48 MB
Время: 0.032 c
6-1136699997
ezorcist
2006-01-08 08:59
2006.04.16
Запретить показывать ошибку


4-1138786134
Cashmare
2006-02-01 12:28
2006.04.16
WaitForSingleObject &amp; Synchronize


6-1136373049
ingine
2006-01-04 14:10
2006.04.16
TIdFtp


2-1143811041
Der Nechk@ssoff
2006-03-31 17:17
2006.04.16
Сохранение из image


4-1138199340
Dyakon_Frost
2006-01-25 17:29
2006.04.16
Использование StartService