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

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

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;

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

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070