![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
обои 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, а потом применить метод, найденный в тырнете.