![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 27.12.2007
Сообщений: 67
|
![]()
Доброе вам время суток. Подскажите пожалуйста, как сменить фон рабочего стола? Новая папка (2).rar
S.R.H.(Rahim)
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 28.11.2007
Сообщений: 1,521
|
![]()
procedure TForm1.Button1Click(Sender: TObject);
begin SystemParametersInfo(SPI_SETDESKWAL LPAPER, 0, PChar('C:\Picture.bmp'), SPIF_UpdateIniFile); end; Только ставь картинки с расширением .bmp!
Всегда рад помочь!
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 26.11.2007
Сообщений: 235
|
![]()
Чтобы изменить обои на рабочем столе необходимо сделать изменения в файле настроек win.ini, записав туда путь к нужной bmp-картинке. Реализовать это можно при помощи объекта типа treginifile, чтобы можно было его использовать, надо в uses добавить модули registry и winprocs. Допустим картинка на рабочем столе будет меняться по клику на кнопку. Тогда в обработчике события onclick напишите:
procedure tform1.button1click(sender: tobject); var reg : treginifile; swallpaperbmppath:string; btile:boolean; begin // Изменяем ключи реестра // hkey_current_user // control panel\desktop // tilewallpaper (reg_sz) // wallpaper (reg_sz) reg := treginifile.create('control panel\desktop' ); with reg do begin //путь к картинке, я думаю вам какой-нибудь другой захочется swallpaperbmppath:='С:\borland\delp hi 3\images\backgrnd\writing.bmp'; //По центру рабочего стола btile:=false; writestring( '', 'wallpaper', swallpaperbmppath ); if( btile )then begin writestring('', 'tilewallpaper', '1' ); end else begin writestring('', 'tilewallpaper', '0' ); end; end; reg.free; // Оповещаем всех о том, что мы // изменили системные настройки systemparametersinfo(spi_setdeskwal lpaper, 0, nil, spif_sendwininichange ); end; |
![]() |
![]() |
![]() |
#4 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
А вот и продолжение статьи:
Цитата:
Последний раз редактировалось mihali4; 17.02.2008 в 13:05. |
|
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 30.04.2007
Сообщений: 1,307
|
![]()
А у меня 1-й метод заработал только после доработки.
Код:
- Это, что? -разновидность ОС или версий Delphi? (у меня 7-я) P.S. Не обязательно что у всех этот ключ одинаков (S-1-5-21-343818398-287218729-725345543-1003)
Всё гениальное - просто!
![]() |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 27.12.2007
Сообщений: 67
|
![]()
Terran, мне нужно расширение .jpeg, .jpg. и т.д. Если это возможно.
S.R.H.(Rahim)
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 27.12.2007
Сообщений: 67
|
![]()
Вот код.(С этого сайта).
Uses ShlObj, ComObj; procedure ChangeWallpaper; 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; Затем в нажатии на кнопку пишем: procedure TForm1.ButtonClick(Sender: TObject); begin ChangeWallpaper; end; В место "Путь к файлу" можно как нибудь поставить фотку из Image1?
S.R.H.(Rahim)
|
![]() |
![]() |
![]() |
#8 |
Участник клуба Подтвердите свой е-майл
Регистрация: 14.12.2007
Сообщений: 1,434
|
![]()
SystemParametersInfo(SPI_SetDeskWal lPaper, 0, PChar('D:\1.bmp'),SPIF_UpdateiniFil e);
![]()
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
![]() |
![]() |
![]() |
![]() |
#9 |
Участник клуба
Регистрация: 30.04.2007
Сообщений: 1,307
|
![]()
Код конвертирования
Код:
Всё гениальное - просто!
![]() |
![]() |
![]() |
![]() |
#10 | |
Пользователь
Регистрация: 27.12.2007
Сообщений: 67
|
![]() Цитата:
Это конвертирование BMP в Jpeg?
S.R.H.(Rahim)
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разрешение рабочего стола. | SanekIrk | Общие вопросы Delphi | 2 | 10.07.2008 18:01 |
Узнать размер рабочего стола | Dj_smart | Общие вопросы Delphi | 3 | 26.03.2008 18:39 |
Как изменить размер рабочего стола? | Legat | Win Api | 5 | 26.10.2007 17:17 |
скриншоты рабочего стола | Alar | Общие вопросы Delphi | 0 | 29.10.2006 10:59 |