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

Вниз

Скриншот десктопа   Найти похожие ветки 

 
Velocity   (2002-01-25 22:33) [0]

Знаю, тема старая, но! Надо бы тоже самое но без использования TBitmap.Canvas, т.е. чисто апишными ф-циями. Пишу такое...

DC:HDC;
BitMap:HBITMAP;

DC:=GetWindowDC(GetDesktopWindow);
BitMap:=CreateCompatibleBitmap(DC,GetSystemMetrics(SM_CYSCREEN),
GetSystemMetrics(SM_CXSCREEN));
BitBlt(BitMap,0,0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN),DC,0,0,SRCCOPY);
ReleaseDC(GetDesktopWindow,DC);

...и понять не могу - то ли правильным путем иду, то ли нет... в общем если все же грамотно сохранил скриншот десктопа (?), есть его хэндл - как теперь всю эту бяку в файл запихнуть? или куда-нить в память?


 
Velocity   (2002-01-28 06:42) [1]

Что, никто не знает? Хммм...


 
MrAngel ©   (2002-01-28 16:51) [2]

Так есть совет. Правда здесь будет задействован класс TBITMAP/
Замени эту строку:
BitBlt(BitMap,0,0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN),DC,0,0,SRCCOPY);

на
var BitMap:TBitmap; //а это дело сначало создай

BitBlt(BitMap.Canvas.Handle,0,0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN),DC,0,0,SRCCOPY);

Потом удали вот это:

BitMap:=CreateCompatibleBitmap(DC,GetSystemMetrics(SM_CYSCREEN),
GetSystemMetrics(SM_CXSCREEN));





 
serjant   (2002-01-28 17:11) [3]

Функция keyb_event(vk_snapshot,1,0,0).1-фотографируем окно, 0-фотографируем десктоп.После ее вызова картинка у тебя в буфере.
Я такую прогу недавно писал, если заинтересуют подробности- пиши.



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

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

Наверх




Память: 0.47 MB
Время: 0.082 c
3-90780
Alexander Vasjuk
2002-02-25 16:47
2002.03.28
КРИЗИС ЖАНРА или Настройка ширины колонок подчиненной таблицы


14-91071
APL
2002-02-16 13:47
2002.03.28
Читалка форума в оффлайне


1-90982
anod
2002-03-14 14:00
2002.03.28
Отображение файлов FileListBox


14-91077
MystiX
2002-02-12 21:15
2002.03.28
Help!!!


3-90793
Alex_R
2002-03-01 18:02
2002.03.28
Как определить, что использовать ExecSQL или Open