Главная страница
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.013 c
1-74746
ctapik-net
2002-12-14 17:41
2002.12.23
Как получить интерфейс IShellFolder указывающий на Entire Network


14-74981
Romychk
2002-11-29 11:32
2002.12.23
Вирусы


14-74902
Agent Delphi
2002-11-30 20:34
2002.12.23
Модем и факс модем


14-74936
Nox
2002-12-02 16:13
2002.12.23
Кодировки


1-74638
Tik
2002-12-12 15:15
2002.12.23
Проблема