Пожалуйста откройте мне глаза на мою ошибку, потому что я ее не вижу :(
Прописала, как советовали:
implementation
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(’d:\Обои\55160_1024_768 .jpg’, 0);
ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
end;
procedure TForm1.ButtonClick(Sender: TObject);
begin
ChangeWallpaper;
end;
Не работает. То есть вроде что-то происходит, но вместа новох обоев остается чистый фон. Таже беда и со вторым способом:
uses ...Registry;
...
procedure TForm1.Button1Click(Sender: TObject);
var
Reg: TRegIniFile;
begin
Reg := TRegIniFile.Create('Control Panel');
Reg.WriteString('desktop', 'Wallpaper', 'c:\windows\Установка.bmp');
Reg.WriteString('desktop', 'TileWallpaper', '0');
Reg.Free;
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDWININICHANGE);
end;
Пожалуйста подскажите где я ошиблась. Заранее благодарна :)