Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];




Вниз

Как сделать скриншот без вывода на экран? 


OGR   (2002-01-23 13:24) [0]

Можно ли так сделать?
Спасибо.



copyr25   (2002-01-23 21:33) [1]

Т.е. выводом в файл? Можно. И с bmp и с jpg. Хочешь, пришлю пример.



copyr25   (2002-01-23 21:44) [2]

Самый известный пример:
procedure TForm1.Button1Click(Sender: TObject);
var
DC: HDC;
Canva: TCanvas;
B: 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));
B.SaveToFile("c:\screen.bmp");
end
finally
ReleaseDC(0, DC);
B.Free;
Canva.Free
end
end;



MrAngel   (2002-01-24 17:48) [3]

Во народ!! А тогда встречный вопрос. Как сделать скин сшот окна или экрана если самого окна нет на экране или оно закрыто другими окнами.
Во!



MrAngel   (2002-01-24 17:51) [4]

Поясню вопрос. Как сделать скрин шот окна если оно свёрнуто в панели задач или оно закрыто другими окнами.
Я пробовал. Но мне функция показывала только то что находится в переди этого окна.



Tosov   (2002-01-24 19:57) [5]

MrAngel
Screen Shot - снимок ЭКРАНА со всеми вытекающими последствиями.



copyr25   (2002-01-24 21:03) [6]

Mr.Angel:))) Просто всю дорогу нужно помнить, что это ОКНА:)))



DMN   (2002-01-25 16:23) [7]

WM_PRINT или WM_PRINTCLIENT, с указанием в качестве Device Context хэндла канвы битмэпа...



MrAngel   (2002-01-28 16:43) [8]

DMN а мона с примером. Я в WM уже давно не занимался.
Заранее спасибо.



OGR   (2002-01-28 17:53) [9]

Я тут в MSDN"е покопался, кроме WM_PRINT"a есть фунцкция PrintWindow, но она насколько я понял она появилась только в Win XP...
А с WM_PRINT"ом я тоже пока никак разобраться немогу...
Если буду ОЧЕНЬ благодарен если ктонибудь приведет пример...



OGR   (2002-01-28 18:09) [10]

Еще нашел 3-е решение: интерфейс IViewObject из библиотеки ActiveX(о нем можно почитать в дельфевском хелпе)....
Вот я уже знаю три решения но ни одно ни могу применить :(



MrAngel   (2002-01-29 17:13) [11]

Ребята а сообщение посылать через SendMessage или PostMessage ?




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.032 c
6-91033           Дима566               2002-01-14 19:54  2002.03.28  
Сотовая связь


1-90826           Aleksandr             2002-03-15 14:03  2002.03.28  
Почему у потока вызывается Terminate?


1-90949           Kettle of delphi      2002-03-14 03:24  2002.03.28  
Про точные интервалы времени.....................


3-90726           Vasyl Bykov           2002-02-28 12:18  2002.03.28  
MS Access


14-91056          panov                 2002-02-12 09:05  2002.03.28  
Хорошо жить!