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

Вниз

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

 
ArtikZ ©   (2007-09-04 16:03) [0]

Как во время выполнения проги програмно сделать PrintScreen рабочего стола?


 
clickmaker ©   (2007-09-04 16:08) [1]

вариант "в лоб"
keybd_event(VK_SNAPSHOT, 0, 0, 0);
keybd_event(VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0);


 
Ivolg ©   (2007-09-04 16:24) [2]

С помощью функции BitBlt();

 Пример:
...
var
  Bit: TBitMap;
begin
   Bit:=TBitMap.Create;
   Bit.Width := Screen.Width;
   Bit.Height:= Screen.Height;
   BitBlt(Bit.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
   GetDC(GetDesktopWindow), 0, 0, SRCCopy);
   Bit.SaveToFile("C:\Screen.bmp");
   Bit.Free;
end;


 
Denis_ ©   (2007-09-04 16:24) [3]


procedure PrintScreenNow(filepath : string);
var
 bmp: TBitmap;
begin
 bmp := TBitmap.Create;
 bmp.Width := Screen.Width;
 bmp.Height := Screen.Height;
 BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
      GetDC(GetDesktopWindow), 0, 0, SRCCopy);
 Image1.Picture.Bitmap:=bmp;
 Image1.Picture.SaveToFile(filename);
end;


 
Denis_ ©   (2007-09-04 16:26) [4]

а, блин, не успел.


 
Anatoly Podgoretsky ©   (2007-09-04 16:34) [5]

> Denis_  (04.09.2007 16:24:03)  [3]

Они немного разные, у тебя образ загоняется в Image1.Picture.Bitmap


 
Denis_ ©   (2007-09-04 16:44) [6]


> Они немного разные, у тебя образ загоняется в Image1.Picture.
> Bitmap

ну это так, я копировал и не обратил внимание.Но ИМХО так даже лучше- сразу видно, чего там получилось.Тем более принцип один.


 
clickmaker ©   (2007-09-04 16:59) [7]


> GetDC(GetDesktopWindow)

а потом удивляемся: куда ресурсы утекают?
ReleaseDC неплохо бы сделать


 
Denis_ ©   (2007-09-04 17:12) [8]


> clickmaker ©   (04.09.07 16:59) [7]
>
> > GetDC(GetDesktopWindow)
>
> а потом удивляемся: куда ресурсы утекают?
> ReleaseDC неплохо бы сделать

не подумали мы....:(


 
Инс ©   (2007-09-04 17:15) [9]

Почему все программы-шпионы так похожи друг на друга?


 
clickmaker ©   (2007-09-04 17:17) [10]


> [9] Инс ©   (04.09.07 17:15)

потому что с одного FAQа код тырят. И с одной и той же ошибкой, к тому же :)


 
Lacmus ©   (2007-09-04 17:24) [11]

>Инс ©   (04.09.07 17:15) [9]

По-моему, интереснее "Зачем люди пишут программы-шпионы ?"


 
Dib@zol ©   (2007-09-04 18:20) [12]

> [11] Lacmus ©   (04.09.07 17:24)

См. http://delphimaster.net/view/15-1188824781/


 
Dimaxx ©   (2007-09-05 14:06) [13]


> procedure PrintScreenNow(filepath : string);
> var
>  bmp: TBitmap;
> begin
>  bmp := TBitmap.Create;
>  bmp.Width := Screen.Width;
>  bmp.Height := Screen.Height;
>  BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
>
>       GetDC(GetDesktopWindow), 0, 0, SRCCopy);
>  Image1.Picture.Bitmap:=bmp;
>  Image1.Picture.SaveToFile(filename);
> end;

Ты забыл bmp.free и совсем непонятны 2 строки с Image1. А bmp.savetofile не судьба юзануть?


 
Denis_ ©   (2007-09-05 18:19) [14]


> Ты забыл bmp.free и совсем непонятны 2 строки с Image1.
> А bmp.savetofile не судьба юзануть?

ОТВЕТ :::

> ну это так, я копировал и не обратил внимание.Но ИМХО так
> даже лучше- сразу видно, чего там получилось.Тем более принцип
> один.


> не подумали мы....:(



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

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

Наверх




Память: 0.49 MB
Время: 0.028 c
11-1172567198
Neww
2007-02-27 12:06
2007.09.30
Как установить MCK?


15-1188394941
sdubaruhnul
2007-08-29 17:42
2007.09.30
Задача на оптимизацмю парковки


4-1172682342
Gilbert
2007-02-28 20:05
2007.09.30
Мышки


4-1175497718
valager
2007-04-02 11:08
2007.09.30
Чтение данных из другого приложения


1-1184513356
KiriX
2007-07-15 19:29
2007.09.30
Как создать графическую форму?