Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

обои jpeg


Sele ©   (2006-08-16 18:46:00) 

Подскажите как програмно сменить обои на раб столе (jpeg)
Искал в нете но находил тока как поставить bmp .


Ketmar   (2006-08-17 11:56:00) [1]

> [8] DprYg ©   (17.08.06 11:22)
тем, что без ActiveDesktop ничего не затанцует.


DprYg   (2006-08-17 11:22:00) [2]


> Ketmar ©   (17.08.06 11:07) [7]

Не понимаю чем в данном случаеbmp отличается от jpeg. Не придирайся :о)


Ketmar   (2006-08-17 11:07:00) [3]

> [6] DprYg ©   (17.08.06 11:03)
форматом.


DprYg   (2006-08-17 11:03:00) [4]

Информация об обоях в HKEY_CURRENT_USER\Control Panel\Desktop. Параметр Wallpaper-имя файла. А вот TileWallpaper и WallpaperStyle надо задавать парно. Соответственно 0,2(растянуть), 0,0(по центру), 1,0(замостить). Меняешь программно на то, что нужно и вызываешь SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, filename:pchar, SPIF_UPDATEINIFILE).  
P.S. Не понимаю чем в данном случае bmp отличается от jpeg.


Ketmar   (2006-08-17 10:07:00) [5]

> [4] D@Nger ©   (17.08.06 09:37)
местатель. отключи Active Desktop. повтори. удивись.


D@Nger   (2006-08-17 09:37:00) [6]

procedure TFmain.ChangeActiveWallpaper(file_path:string);
const
CLSID_ActiveDesktop: TGUID = '{75048700-EF1F-11D0-9888-006097DEACF9}';
var ActiveDesktop: IActiveDesktop;
   tmpBuffer:PWideChar;
begin
 ActiveDesktop:=CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop;
 tmpBuffer := AllocMem(256);
 try
   stringtowidechar(file_path,tmpBuffer,256);
   ActiveDesktop.SetWallpaper(tmpBuffer, 0);
   ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
 finally
  FreeMem(tmpBuffer);
 end;
end;


Ketmar   (2006-08-16 22:01:00) [7]

> [2] tButton ©   (16.08.06 19:04)
с разницей.


tButton   (2006-08-16 19:04:00) [8]

там помоему АПи функцие передаётся имя файла и без разницы жопег или бмп
мне оно не понравилось только из-за того что можно было только за центровать или затайлить
а хотелось растянуть


Ega23   (2006-08-16 18:56:00) [9]

Легко. Привести jpeg к bmp, а потом применить метод, найденный в тырнете.


Наверх

Титульная страница Поиск, карта сайта Написать письмо