Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 728

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!Я меняю обои спомощью функции SystemParametersInfo(SPI_SETDESKWALLPAPER,0,PChar(ExtractFilePath(Application.ExeName)+'DATA\RS.BMP'),SPIF_SENDWININICHANGE);Обои меняются нормально но после перезагрузки опять на рабочем столе старые обои!Что я делаю не так?

Аксион Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Аксион (статус: 4-ый класс)
Вопрос отправлен: 11 июля 2007, 10:18
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: min@y™

Надо, наверно, ещё и в реестре прописать...
Вот в DelphiWorld нашёл 1 из вариантов (их там несколько):

Приложение:
  1. procedure SetWallpaper(sWallpaperBMPPath: string; bTile: boolean);
  2. var
  3.  
  4. reg: TRegIniFile;
  5. begin
  6.  
  7. // HKEY_CURRENT_USER
  8. // Control PanelDesktop
  9. // TileWallpaper (REG_SZ)
  10. // Wallpaper (REG_SZ)
  11.  
  12. reg := TRegIniFile.Create('Control PanelDesktop');
  13. with reg do
  14. begin
  15. WriteString('', 'Wallpaper',
  16. sWallpaperBMPPath);
  17. if (bTile) then
  18. begin
  19. WriteString('', 'TileWallpaper', '1');
  20. end
  21. else
  22. begin
  23. WriteString('', 'TileWallpaper', '0');
  24. end;
  25. end;
  26. reg.Free;
  27.  
  28. SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, nil,
  29.  
  30.  
  31. end;
  32.  
  33.  


Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 11 июля 2007, 10:34
Оценка за ответ: 5


Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 12:01
Выполнено за 0.02 сек.