Главная страница
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.261 c
3-1133770862
DancerMan
2005-12-05 11:21
2006.02.05
Создание внешней таблицы


15-1137004702
Хинт
2006-01-11 21:38
2006.02.05
Просмотр JPG на КПК


2-1137495562
ANB
2006-01-17 13:59
2006.02.05
Можно ли обрашаться из DLL к методам объектов приложения ?


15-1137143641
SergP.
2006-01-13 12:14
2006.02.05
Не могу правильно отсортировать массив. Помогите.


15-1137162313
oldman
2006-01-13 17:25
2006.02.05
Флаговая морская азбука.