![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не обновляются обои на рабочем столе под win2000. [D5, Win2k]
Vovas © (2002-05-18 12:47:00)Помогите, плиз.
Программа в темп каталог windows записывает новые обои и меняет их на рабочем столе с помощью команды:
SystemParametersInfo(SPI_SETDESKWALLPAPER,0,PChar(TempImg),SPIF_SENDWININICHANGE);
Под win95 все работает отлично, а вот под win 2000 - ничего не меняет.
Вместо SPIF_SENDWININICHANGE ставил SPIF_UPDATEWININICHANGE - не помогло.
Кто знает в чем трабл - помогите !!!
Mover (2002-05-20 13:13:00) [1]
procedure ChangeActiveWallpaper(const FileName: String);
const
CLSID_ActiveDesktop: TGUID = "{75048700-EF1F-11D0-9888-006097DEACF9}";
var
Path: array[0..MAX_PATH] of WideChar;
begin
with CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop do begin
SetWallpaper(StringToWideChar(FileName, Path, MAX_PATH), 0);
ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
end;
end;
still (2002-05-20 12:35:00) [2]У меня вот так работает под NT4. под Win2k не пробовал, но по идее должно работать.
p := PChar("c:\temp\mywallpaper.bmp");
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, p, SPIF_UPDATEINIFILE+SPIF_SENDCHANGE);