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

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

Active Desktop [D7, WinXP]


kotbazilio ©   (2007-08-07 10:51:00) 

Мне нужно подсунуть пользователю на рабочий стол хтмл страничку, надо я так понимаю для этого прописать в реестре путь, я нашел куда. А вот как включить/показать пользоватлю этот актив десктоп?


Mishell   (2007-08-10 15:30:00) [1]

да и не забудьте uses ActiveX, ShlObj;


Mishell   (2007-08-10 15:28:00) [2]

можно так (причем в реестре ничего прописывать не надо):
procedure SetWallpaper(fname:string);
var ActiveDesktop:IActiveDesktop;
   wc:PWideChar;
   slen:integer;
begin
 slen:=Length(fname);
 wc:=CoTaskMemAlloc((slen+1)*SizeOf(WideChar));
 try
   CoCreateInstance(CLSID_ActiveDesktop, nil,
                     CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER,
                     IUnknown, ActiveDesktop);
   ActiveDesktop.SetWallpaper(StringToWideChar(fname,wc,slen+1),0);
   ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
 except end;
end;


Наверх

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