Главная страница
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.052 c
3-1140516501
dreamse
2006-02-21 13:08
2006.04.16
как выбрать Select с таблицой DataTime ?


1-1141985782
DarkLord
2006-03-10 13:16
2006.04.16
Клонирование TabSheet со всем содержимым


1-1142348118
Германн
2006-03-14 17:55
2006.04.16
Сортировка в ListBox


2-1142495897
BlackDel
2006-03-16 10:58
2006.04.16
Работа с файлами


8-1131452209
kl0n™
2005-11-08 15:16
2006.04.16
Прозрачность