Текущий архив: 2006.02.05;
Скачать: CL | DM;
Вниз
Обновить рабочий стол Найти похожие ветки
← →
Irinka © (2005-08-24 14:20) [0]Подскажите пожалуйста, как обровить рабочий стол. Меняю в windows 2000 фон, в свойствах новая картинка есть, а на раб столе все еще старая.
обновляю рабочий стол так:
var
Reg: TRegIniFile;
begin
Reg := TRegIniFile.Create("Control Panel");
Reg.WriteString"desktop", "Wallpaper", "c:\windows\Установка.jpg");
Reg.WriteString("desktop", "TileWallpaper", "0");
Reg.Free;
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDWININICHANGE);
Пытаюсь использовать в качестве картинки jpg или bmp - исход один.
← →
Jeer © (2005-08-24 14:33) [1]Так как делаешь ты - только через перезагрузку.
Иначе
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, PChar(filename),
SPIF_SENDCHANGE);
← →
Irinka © (2005-08-24 14:49) [2]К сожалению этот пример вообще не обновляет ничего, даже в свойствах старая картинка :-(
← →
Jeer © (2005-08-24 17:13) [3]Active Desktop - enabled
иначе только bmp
← →
ArtemESC (2005-08-24 18:32) [4]Попрубуй так...
uses
ComObj, ShlObj;
procedure ChangeWallpaper;
const
I : TGuid = "{75048700-EF1F-11D0-9888-006097DEACF9}";
var
AD: IActiveDesktop;
begin
AD := CreateComObject(I) as IActiveDesktop;
AD.SetWallpaper("C:\bm.bmp", 0);
AD.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
end;
← →
ArtemESC (2005-08-24 20:28) [5]А лучше сходи на torry.net и скачай
компанент TWallpaper
← →
Irinka © (2005-08-25 05:41) [6]ArtemESC, простите меня глупую, не покажите ли примерчик использования этого компонента? :-)
← →
ArtemESC (2005-08-25 13:44) [7]примерчик...
1) кидаешь TWallpaper на форму
2) TWallpaper.Wallpaper = C:\Documents and Settings\Артем\Local Settings\Application Data\Microsoft\Wallpaper1.bmp
Вообще, должно работать...
← →
Irinka © (2005-08-25 13:55) [8]с файлами bmp работает так же как мой код: в свойствах картинка есть, а на рабочем столе все еще старая. А с флами jpg вообще ничего не происходит. В моем примере одинакой эффект и стеми и с другими файлами :-(
← →
ArtemESC (2005-08-25 14:25) [9]Да глюки бывают...
у TWallpaper есть еще свойство Stretch, установи в
False - только во время выполнения программы. У меня после
этого все стало работать..
Похоже для jpg файлов это опция (Stretch) не работает....
← →
Irinka © (2005-08-25 14:39) [10]Как же все таки поменять картинку на рабочем столе чтобы она сразу обновилась? И так чтобы можно было использовать jpg картинки?
← →
Jeer © (2005-08-25 14:42) [11]Все прекрасно работает с *.bmp
if OpenDialog1.Execute then
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, PChar(OpenDialog1.FileName),
SPIF_SENDCHANGE);
← →
Irinka © (2005-08-25 14:51) [12]:-( даже в свойствах не появляется bmp картинка :-(
← →
Jeer © (2005-08-25 18:10) [13]Не знаю, где Вы куролесите, но прекрасно работает на w2k и xp при выключенном Active Desktop.
← →
Irinka © (2005-08-26 05:16) [14]При выключеном Desktop с bmp файлами получается. Теперь возникает вопрос как программно отключать и включать Desktop?
← →
Irinka © (2005-08-29 05:48) [15]Все решила гораздо проще: оставила свой код обновления рабочего стола, затем сначала выключила, а за тем включила ActiveDesktop и у меня тут же обновилась картинка на рабочем столе :-)
Страницы: 1 вся ветка
Текущий архив: 2006.02.05;
Скачать: CL | DM;
Память: 0.5 MB
Время: 0.025 c