Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.12.23;
Скачать: [xml.tar.bz2];

Вниз

Как сохранить 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
7-75010
Slym
2002-10-16 07:35
2002.12.23
Как узнать координаты иконки в трее?


7-75022
sego
2002-10-18 10:07
2002.12.23
можно ли програмно открыть доступ к дискам.


14-74904
Arhangel
2002-12-01 13:02
2002.12.23
Зарание извеняюсь за это сообщение!


7-75019
vic_774N
2002-10-19 15:38
2002.12.23
Как программно отключить переход на летнее время ?


3-74612
Lnstr
2002-12-04 17:31
2002.12.23
Как прочитать Blob и разобрать побайтно





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский