Форум: "Media";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];
ВнизФон рабочего стола - динамическое изменение Найти похожие ветки
← →
Vcoder © (2005-08-22 22:47) [0]Здравствуйте, Мастера!
Есть такая задумка - сформировать изображение в памяти (например в TBitmap), а затем сделать его рисунком рабочего стола, не сохраняя в файл. Понятно, что это до первой перезагрузки - больше и не надо. Вопрос в том, как вообще это реализовать.
Пробовал код:
procedure DrawOnDesktop;
var
h : THandle;
DC : HDC;
begin
h := FindWindow("ProgMan", "Program Manager");
h := GetWindow(h, GW_CHILD);
DC:=GetDC(h);
if DC=0 then exit;
try
...
// Рисуем на DC, используя API функции,
// например SetPixel
...
finally
ReleaseDC(h, DC);
end;// try
end;// procedure DrawOnDesktop
Работает через раз, но рисует на поверхности рабочего стола, причем закрашивает даже иконки. Но полученный рисунок стирается любым окном - проявляется предыдущий фон.
Кстати, если взять
GetDC(0);
то закрашивается ВЕСЬ ЭКРАН. Правда, с тем же результатом...
Итак, возможно ли сделать как я хочу - поменять рисунок фона на сеанс, не сохраняя его на диск? И если да, то как?
← →
Eraser © (2005-08-22 22:58) [1]Vcoder © (22.08.05 22:47)
На диск сохранять всё таки прийдётся... а в чём проблема то? Сохраняй во временные файлы к примеру, а потом удаляй.
Или "вирус" пишем? )
← →
Vcoder © (2005-08-22 23:04) [2]Не, не вирус. Вирус - он размножается.
Помнится, была как-то програмка, делающая фон рабочего стола анимированным. Вроде даже видео можно было туда воспроизводить. Вот играясь с примером плазмы и подумал - а здорово бы сделать чтобы этот рисунок выводился на рабочий стол и менялся периодически.
← →
Zeqfreed © (2005-08-22 23:53) [3]Vcoder © (22.08.05 22:47)
Материал к размышлению:
http://www.delphimaster.ru/articles/directx/index.html
Думаю, ещё как вариант можно рассмотреть ActiveX-элемент на рабочем столе.
← →
XProger © (2005-08-23 07:59) [4]gif ставь ;)
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.02 c