Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как используя API выключить ActiveDesktop [D6, Win95/98, Win2k, WinXP]


SerVS - S ©   (2002-01-29 14:13:00) 

Как используя API програмно выключить ActiveDesktop. Когда он включен неполучается менять картинку на рабочем столе.
Может кто знает как заставить Винду обновить рабочий стол в ActiveDesktop, тогда первый вопрос снимается


Mover   (2002-02-20 12:16:00) [1]

А я знаю! ;-P
Технологию смотрите в моей программе Wallpaper (v0.6) в Кладовке.


Raptor   (2002-01-29 21:59:00) [2]

Обновить ActiveDesktopлегко. Используешь интерфейс IActiveDesktop. Вот тпример который изменяет волпапер на ActiveDesktopи после этого обновляет его.

procedure WallpaperChanger(path:String);
var
ActiveDesktop: IActiveDesktop;
ss:WideString;
begin
ss:=WideString(path);
ActiveDesktop := CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop;
ActiveDesktop.SetWallpaper(PWideChar(ss), 0);
ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
end;

Только не забудь включить модули ShlObj и ComObj в Uses.
А как включить или выключить я не знаю. В описании IActiveDesktopя не нашел способа сделать это.


Наверх

Титульная страница Поиск, карта сайта Написать письмо