Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];




Вниз

Как используя API выключить ActiveDesktop 


SerVS - S   (2002-01-29 14:13) [0]

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



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

Обновить 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 я не нашел способа сделать это.



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

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




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.016 c
1-80861           Air                   2002-04-13 13:03  2002.04.25  
Как поймать сообщение клиента при дисконнекте?


1-80986           kimblch               2002-04-10 02:29  2002.04.25  
Вопрос по OLE-Automation(ранние связывание)


1-80863           Chainik               2002-04-13 15:15  2002.04.25  
Функциональные клавиши


14-81053          Kozhanov              2002-03-19 15:06  2002.04.25  
IMHO ?


3-80804           Labert                2002-04-05 10:57  2002.04.25  
TBDEDataset.Locate