![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Смена обоины на API [D7, WinXP]
Galiaf © (2007-03-31 13:40:00)
uses
ComObj, ShlObj;
procedure ChangeActiveWallpaper;
const
CLSID_ActiveDesktop: TGUID = '{75048700-EF1F-11D0-9888-006097DEACF9}';
var
ActiveDesktop: IActiveDesktop;
begin
ActiveDesktop := CreateComObject(CLSID_ActiveDesktop)
as IActiveDesktop;
ActiveDesktop.SetWallpaper('c:\windows\forest.bmp', 0);
ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
end;
При попытке данным кодом сменить обои без использования модуля forms.pas наблюдается ошибка "Не был произведён вызов CoInitialize". Давольно долго рылся в модуле forms и в используемых им модулях но так и не понял что именно надо сделать для того, чтобы можно было воспользоваться этим методом на апи. Я пробовал менять обои другим методом но остальные работают только с форматом bmp, а мне нужна поддержка как bmb так и jpg. Вот я так подумал может кто встречался с похожей проблемой и может мне посоветовать как исправить и попутно объяснить что в чём ИМЕННО проблема.
Германн (2007-04-03 01:00:00) [1]
> Galiaf © (02.04.07 20:50) [4]
>
>
> > А как искал?
>
> В исходниках модулей forms и им используемых
>
А сколько по-твоему в модуле дельфи объявлений uses?
Leonid Troyanovsky (2007-04-03 00:54:00) [2]
> Galiaf © (02.04.07 20:50) [4]
> ссылка не работает но всёже спасибо, приму как намёк
Ссылка, как раз, работает.
Прими как намек.
--
Regards, LVT.
Galiaf (2007-04-02 20:50:00) [3]
> А как искал?
В исходниках модулей forms и им используемых
ссылка не работает но всёже спасибо, приму как намёк
KSergey (2007-04-02 11:05:00) [4]А как искал?
Вот, например
http://msdn2.microsoft.com/en-us/library/ms678543.aspx
Galiaf (2007-03-31 16:19:00) [5]так я не знаю что это такое, не нашёл
Anatoly Podgoretsky (2007-03-31 13:42:00) [6]> Galiaf (31.03.2007 13:40:00) [0]
А произвести вызов не судьба