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

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

Desktop Wallpaper [D6, Win95/98, WinME, WinXP]


Kr_Alex ©   (2002-06-08 15:16:00) 

Люди! Как сменить обои десктопа на JPG файл? Пробовал SystemParametersInfo(SPI_SETDESKWALLPAPER,0,"C:\CoolImage.jpg",SPIF_SENDWININICHANGE);- обои десктопа заменяются на чёрный фон. А SystemParametersInfo(SPI_SETDESKWALLPAPER,0,C:\CoolImage.bmp,SPIF_SENDWININICHANGE);прекрасно работает.


Ricks   (2002-06-14 23:11:00) [1]

Для этого можно использовать интерфейс IActiveDesktop. Вот пример:

uses
..., ShlObj, ComObj, ...;

procedure TForm1.Button1Click(Sender: TObject);

const
Path : PWideChar = "D:\Photos\Scanned\0013.jpg";

var A:IActiveDesktop;
begin
A:=CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop;
A.SetWallpaper(Path, 0);
A.ApplyChanges(AD_APPLY_ALL);
...
end;


Демон   (2002-06-10 21:16:00) [2]

var jpg:TJpegImage;
bmp:TBitmap;
Reg:TRegIniFile;
бегин
// это перевод Jpg в Bmp
// а потом картинка.Bmp помещай на деск топ как ты писал
bmp:=TBitmap.Create;
jpg:=TJpegImage.Create;
jpg.LoadFromFile(ListBox1.Items[ListBox1.ItemIndex]);
bmp.Assign(jpg);
bmp.SaveToFile("\Валпапёр.bmp");
bmp.Free;
jpg.Free;
енд
пользуйся наздоровье!
и не забудь в Юсес добавить Jpeg.


Walker   (2002-06-10 01:36:00) [3]

to Song
чтож, знания лишними не бывают :)


Song   (2002-06-09 10:10:00) [4]

2Walker © (09.06.02 03:39)
Когда включен Active DeskTop, винда не подставляет jpg, она генерирует html файл, в который через img вставляет jpg, это HTML включение выводится на экран, но файл опять же переводится в bmp перед непосредственно самим выводом, что приводит к тормозам, вот почему такой режим сильно тормозит.


Walker   (2002-06-09 03:39:00) [5]

Насколько мне известно, jpg в качестве обоев доступны только в режиме, когда включён Active Desktop (щёлкни правой кнопкой по рабочему столу). Вот возможно из-за того, что этот режим сам не включается (т.е. кроме указания имени файла, тебе надо ещё и включить режим веб), либо этот режим у тебя как-то хитро настроен.

Кстати, насколько я заметил, когда на фоне bmp-шка, этот фон прорисовывается гораздо быстрее, нежели чем jpg или др. форматы.

Совет - перед установкой конвертруй в bmp (например muWallpaper.bmp)


Song   (2002-06-08 16:59:00) [6]

Система при указании файла jpg, автомтически его переводит в bmp.


Наверх

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