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

Вниз

Как сохранить desktop?   Найти похожие ветки 

 
pumba   (2002-12-11 12:34) [0]

Мне нужно сохранить все, что есть на мониторе(в виде изображения) и записать это в файл. Как это сделать?


 
Keymaster ©   (2002-12-11 12:39) [1]

1) Нажимаем кнопку PrintScreen
2) Запускаем банальный MSPaint
3) Жмем меню "Edit -> Paste"
4) Что получилось - сохраняем в файл

если надо - могу сказать, как это
на Delphi сделать...


 
Mad_Ghost ©   (2002-12-11 12:44) [2]

да, скажи плизз....


 
drin ©   (2002-12-11 12:45) [3]


function GetScreenImage: TBitmap;
begin
Result:=TBitmap.create;
Result.Width := Screen.Width;
Result.Height := Screen.Height;
BitBlt(Result.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
GetDC(GetDesktopWindow), 0, 0, SRCCopy);

end;


 
Song ©   (2002-12-11 12:48) [4]

GetDC(HWND_DeskTop) связываешь с TCanvas. Далее копируешь через BitBlt область в TCanvas и сохраняешь на диск. Тоже самое можно сделать через TCanvas.CopyRect(). Вариантов много.


 
Карелин Артем ©   (2002-12-11 12:49) [5]

drin © (11.12.02 12:45) - а если это вызвать раз так 100-1000 утечки памяти и ресурсов не будет??


 
Skier ©   (2002-12-11 12:55) [6]

procedure SaveDesktop(const AFileName : String);
var
ABitmap : TBitmap;
begin
if AFileName = EmptyStr then Exit;
ABitmap := TBitmap.Create;
try
ABitmap.Width := Screen.Width;
ABitmap.Height := Screen.Height;
BitBlt(ABitmap.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, GetDC(GetDesktopWindow), 0, 0, SRCCOPY);
ABitmap.SaveToFile(AFileName);
finally
ABitmap.Free;
end; //try
end;


 
Song ©   (2002-12-11 13:10) [7]

2Skier © (11.12.02 12:55)
А ReleaseDC() кто делать будет? или хрен с ним..? :)


 
Skier ©   (2002-12-11 13:19) [8]

procedure SaveDesktop(const AFileName : String);
var
ABitmap : TBitmap;
ADC : HDC;
begin
if AFileName = EmptyStr then Exit;
ABitmap := TBitmap.Create;
try
ABitmap.Width := Screen.Width;
ABitmap.Height := Screen.Height;
ADC := GetDC(GetDesktopWindow);
BitBlt(ABitmap.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, ADC, 0, 0, SRCCOPY);
ReleaseDC(GetDesktopWindow, ADC);
ABitmap.SaveToFile(AFileName);
finally
ABitmap.Free;
end; //try
end;


 
pumba   (2002-12-11 14:53) [9]

THANKS!!!!



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

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

Наверх




Память: 0.48 MB
Время: 0.018 c
3-74570
----
2002-12-03 15:58
2002.12.23
Обмен данными с приложениями на разных языках......


1-74776
ДмитрийК.
2002-12-11 10:38
2002.12.23
Создание компонентов в runtime и перемещение их по форме


4-75061
pag77
2002-10-31 18:12
2002.12.23
Как переключить раскладку клавиатуры в чужом приложении?


14-74948
Шишкин Илья
2002-12-02 18:17
2002.12.23
Оптическая мышь от Genius


1-74729
Oxigen
2002-12-10 20:55
2002.12.23
Как правильно работать с WideString