Показать сообщение отдельно
  (#1 (permalink)) Старый
Mistris Mistris вне форума
Новичок
 
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 24.05.2008
По умолчанию 24.05.2008, 22:57

Пожалуйста откройте мне глаза на мою ошибку, потому что я ее не вижу :(
Прописала, как советовали:

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;

Пожалуйста подскажите где я ошиблась. Заранее благодарна :)
Ответить с цитированием
Ads