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

Вниз

Фон рабочего стола - динамическое изменение   Найти похожие ветки 

 
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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.04 c
15-1137401942
Rentgen
2006-01-16 11:59
2006.02.05
поле с прокруткой как в MoveMaker ???


2-1137704176
kizam
2006-01-19 23:56
2006.02.05
такая ошыбка


2-1137405620
Пользователь
2006-01-16 13:00
2006.02.05
Создание компонента


15-1137044415
begin...end
2006-01-12 08:40
2006.02.05
С Днём рождения! 12 января


2-1137429166
Silver__Dragon
2006-01-16 19:32
2006.02.05
Отслеживание USB