Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.08.2007, 19:03   #1
t3ns0r
Пользователь
 
Аватар для t3ns0r
 
Регистрация: 23.07.2007
Сообщений: 20
Вопрос Как "перекрасить" рабочий стол?

Доброго времени суток
Реально ли на дельфи сделать прогу, чтоб менять обои на рабочем столе? Если да, то как?
t3ns0r вне форума Ответить с цитированием
Старый 09.08.2007, 20:18   #2
Net
;-)
Пользователь
 
Регистрация: 18.07.2007
Сообщений: 69
По умолчанию

http://narod.yandex.ru/cgi-bin/yands...%EE%E8&where=2
Net вне форума Ответить с цитированием
Старый 09.08.2007, 22:39   #3
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Писал когда-то такую программку. Вот здесь лежит. Можешь посмотреть. Если нужно - могу исходники прислать. Но, там в общем-то, всего пара процерур: поиск картинок в указанных каталогах, конвертирование jpg в bmp и установка обоев на Десктоп. Думаю сам такое напишешь минут за 20.
_SERGEYX_ вне форума Ответить с цитированием
Старый 09.08.2007, 23:07   #4
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Вот собственно и весь код:
Код:
procedure TForm1.Button1Click(Sender: TObject);
const
  CLSID_ActiveDesktop: TGUID = '{75048700-EF1F-11D0-9888-006097DEACF9}';
var 
  ActiveDesktop: IActiveDesktop;
begin
  ActiveDesktop := CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop; 
  ActiveDesktop.SetWallpaper('путь к файлу', 0);
  ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE); 
end;
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 10.08.2007, 20:09   #5
Fainder
Участник клуба
 
Регистрация: 15.02.2007
Сообщений: 1,112
По умолчанию

2mutabor: А зачем так усложнять. Обои меняются одной командой:
Цитата:
SystemParametersInfo(SPI_SETDESKWAL LPAPER,1,Pointer(FileName),SPIF_UPD ATEINIFILE);
Конечно перед этим надо конвертить в бмп и ещё не помешает изменить размер, отследить пропорции и т.д.
У меня есть творение, которое легко это всё делает. Могу дать исходники модуля. Прога лежит здесь
Fainder вне форума Ответить с цитированием
Старый 10.08.2007, 22:08   #6
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

в том коде что я дал можно сразу jpeg передавать
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при использовании OlePropertyGet("Documents").OleProcedure("Add") в C++ Builder AleksP C++ Builder 7 11.04.2009 13:06
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) Dorvir Microsoft Office Excel 2 28.03.2008 10:03
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49
На чем пишутся стратегии типа "Казаков" и "Эпохи империи" Tayfun Свободное общение 3 26.06.2007 20:27